All Projects → shindyu → Xctestextensions

shindyu / Xctestextensions

Licence: mit
XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test.

Programming Languages

swift
15916 projects

Labels

Projects that are alternatives of or similar to Xctestextensions

ViewControllerPresentationSpy
Unit test presented and dismissed iOS view controllers, including alerts and action sheets
Stars: ✭ 117 (+515.79%)
Mutual labels:  xctest
dtx codec
A golang based Apple DTX implementation. So you can run on real iOS devices: XCUITests, get CPU metrics, launch and kill apps from any OS without the need for expensive Apple hardware :-)
Stars: ✭ 25 (+31.58%)
Mutual labels:  xctest
Entwine
Testing tools and utilities for Apple's Combine framework.
Stars: ✭ 306 (+1510.53%)
Mutual labels:  xctest
AutoMate-AppBuddy
iOS UI automation tests helper framework, designed to work with the AutoMate
Stars: ✭ 31 (+63.16%)
Mutual labels:  xctest
CucumberSwift
A lightweight swift Cucumber implementation
Stars: ✭ 40 (+110.53%)
Mutual labels:  xctest
Perfect-Server-Side-Swift iOS-App
A family tree API server implementation with iOS client. Server has been implemented with Perfect: Server-Side Swift And iOS client is in pure Swift.
Stars: ✭ 15 (-21.05%)
Mutual labels:  xctest
appium-mac2-driver
Next-gen Appium macOS driver, backed by Apple XCTest
Stars: ✭ 55 (+189.47%)
Mutual labels:  xctest
Ochamcrest
Hamcrest for Objective-C: Powerful, combinable, extensible matchers for verification
Stars: ✭ 701 (+3589.47%)
Mutual labels:  xctest
gmock-xcode
Xcode integration for GoogleMock through XCTest
Stars: ✭ 18 (-5.26%)
Mutual labels:  xctest
Mockingbird
A convenient mocking framework for Swift
Stars: ✭ 302 (+1489.47%)
Mutual labels:  xctest
fastlane-plugin-xchtmlreport
fastlane plugin for XCTestHTMLReport
Stars: ✭ 17 (-10.53%)
Mutual labels:  xctest
SimpleIOSCalculator
Simple iOS Calculator
Stars: ✭ 16 (-15.79%)
Mutual labels:  xctest
gidevice
communicate with iOS devices implemented with Golang
Stars: ✭ 156 (+721.05%)
Mutual labels:  xctest
spec
Unit testing Vapor 4 applications through declarative specifications.
Stars: ✭ 32 (+68.42%)
Mutual labels:  xctest
Snap.swift
Snapshot testing in a snap 🎨
Stars: ✭ 420 (+2110.53%)
Mutual labels:  xctest
Peasy
A pure Swift mock server for embedding and running directly within iOS/macOS UI tests. Easy peasy.
Stars: ✭ 32 (+68.42%)
Mutual labels:  xctest
XCTestHTMLReport
Xcode-like HTML report for Unit and UI Tests
Stars: ✭ 581 (+2957.89%)
Mutual labels:  xctest
Pxctest
Execute tests in parallel on multiple iOS Simulators
Stars: ✭ 800 (+4110.53%)
Mutual labels:  xctest
Xctesthtmlreport
Xcode-like HTML report for Unit and UI Tests
Stars: ✭ 489 (+2473.68%)
Mutual labels:  xctest
Hippolyte
HTTP Stubbing in Swift
Stars: ✭ 109 (+473.68%)
Mutual labels:  xctest

XCTestExtensions

Build Status

Features

  • [x] XCTAssertEventually (that convenient assertions for writing Unit Test).

    • Use "XCTAssertEventually", you can write asynchronous assertions very easily and intuitively, like Nimble's toEventually.
  • [x] XCTxContext (It is a wrapper of XCTContext.runActivity.)

    • XCTxContext can internally test setup and tearDown of TestClass. Of course you can not do it.

Installation

Installing with Carthage

Add to Cartfile.private

github "shindyu/XCTestExtensions"

Usage

Import XCTestExtensions to Unit tests files:

import XCTestExtensions

Use XCTestExtensions's extensions in your tests:

For example, Applying it to the asynchronous test of the official document of apple, it can be described as follows:

    func testDownloadWebData_UsingXCTAssertEventually() {
        XCTxContext("you can describe context") {
            let url = URL(string: "https://apple.com")!

            var downloadData: Data?

            let dataTask = URLSession.shared.dataTask(with: url) { (data, _, _) in
                downloadData = data
            }

            dataTask.resume()

            XCTAssertNotNilEventually(downloadData)
        }
    }

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/shindyu/XCTestExtensions

License

XCTestExtensions is available as open source under the terms of the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].