Swiftpack.co - shindyu/XCTestExtensions as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by shindyu.
shindyu/XCTestExtensions v0.8
XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test.
⭐️ 22
🕓 2 years ago
iOS
.package(url: "https://github.com/shindyu/XCTestExtensions.git", from: "v0.8")

XCTestExtensions

Build Status

Features

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

    • Use "XCTAssertEventually", you can write asynchronous assertions very easily and intuitively, like Nimble's toEventually.
  • 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.

GitHub

link
Stars: 22
Last commit: 2 years ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Release Notes

v0.8
5 years ago

rename: context -> XCTxContext

because collision Quick's context😢

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics