Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shindyu/XCTestExtensions
XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test.
https://github.com/shindyu/XCTestExtensions
convenient-assertions swift-extensions xctest
Last synced: 6 days ago
JSON representation
XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test.
- Host: GitHub
- URL: https://github.com/shindyu/XCTestExtensions
- Owner: shindyu
- License: mit
- Created: 2017-12-22T03:11:44.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2022-02-14T02:14:10.000Z (almost 3 years ago)
- Last Synced: 2024-08-16T03:32:44.760Z (4 months ago)
- Topics: convenient-assertions, swift-extensions, xctest
- Language: Swift
- Homepage:
- Size: 184 KB
- Stars: 22
- Watchers: 2
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - XCTestExtensions - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. (Testing / Other Testing)
- awesome-ios-star - XCTestExtensions - XCTestExtensions is a Swift extension that provides convenient assertions for writing Unit Test. (Testing / Other Testing)
README
# XCTestExtensions
[![Build Status](https://app.bitrise.io/app/d0839dd24a68d8bb/status.svg?token=Ev-O5IKO3HWhOPjZg9-Knw&branch=master)](https://app.bitrise.io/app/d0839dd24a68d8bb)# Features
- [x] `XCTAssertEventually` (that convenient assertions for writing Unit Test).- Use "XCTAssertEventually", you can write asynchronous assertions very easily and intuitively, like [Nimble](https://github.com/Quick/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 CarthageAdd to `Cartfile.private`
```
github "shindyu/XCTestExtensions"
```# Usage
Import `XCTestExtensions` to Unit tests files:
```swift
import XCTestExtensions
```Use `XCTestExtensions`'s extensions in your tests:
For example, Applying it to [the asynchronous test of the official document of apple](https://developer.apple.com/documentation/xctest/asynchronous_tests_and_expectations/testing_asynchronous_operations_with_expectations), it can be described as follows:
```swift
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](https://github.com/shindyu/XCTestExtensions/blob/master/LICENSE).