测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可协议 | MIT |
发布最后发布 | 2017年1月 |
SwiftSwift版本 | 3.0 |
SPM支持SPM | ✓ |
由Valentin Knabel维护。
依赖项 | |
RxSwift | ~> 3.0 |
RxBlocking | ~> 3.0 |
TestHarness | = 0.0.1 |
Taps是一个轻量级的单元测试库,针对异步代码进行了优化。它使用RxSwift实现,因此可以轻松测试自己的Observables,但无需了解RxSwift。
由于生成的输出与TAP13兼容,因此可以轻松自定义。您可以使用Taps集成的TapsHarness,或者使用pod TestHarness来自定义输出。
您可以在此处找到自动生成的文档。
Taps假设所有测试都是并发的。这意味着运行它们非常容易
taps.test("test async completion", timeout: 0.1) { t in
DispatchQueue.global().async {
t.pass()
t.end() // this terminates the test
}
}
但测试同步代码时,不必总是强制调用t.end()
,可以为所有预期的测试添加一个计划。
taps.test("test does not throw on return", plan: 1) { t in
t.doesThrow("does throw is ok when throwing") {
return 1
}
}
由于Taps底层使用RxSwift,因此在测试Observable
时表现尤为出色。如果测试的Observable
完成,测试将自动完成!
tape.test("just emits", timeout: 0.01) { t in
Observable.just(3)
.map { $0 + 1 }
.test(
onNext: t.notEqual(to: 3, "just emits 3"),
onError: t.fail(with: "just won't throw'")
)
}
Finite遵循MIT许可协议。有关更多信息,请参阅LICENSE文件。