在 RxSwift 中,我如何对一个可观察对象没有发送任何事件进行单元测试?
In RxSwift, how can I unit test that an observable sent no event?
我是测试 un RxSwift 的新手。
我设法测试 Observable 是否使用 RxBlocking 发出值。但是如果 Observable 没有发送任何值,我找不到使测试通过的语法。
我想我应该使用toBlocking(timeout: )
,但我找不到方法(我有一个超时的错误,但测试失败)。
感谢您的帮助
你的观察完成了吗?看起来您正在测试可观察对象是否发出任何 events
而不是 values
假设您正在 XCTest 框架上进行测试,
- 如果您要测试观察对象在完成之前是否不发射任何元素,
XCTAssertNil(try observable.toBlocking().first())
- 如果您正在测试观察对象是否不发射任何元素,也不完成
// Check error if necessary
XCTAssertThrowsError(try observable.toBlocking(timeout: timeout).first())
我是测试 un RxSwift 的新手。 我设法测试 Observable 是否使用 RxBlocking 发出值。但是如果 Observable 没有发送任何值,我找不到使测试通过的语法。
我想我应该使用toBlocking(timeout: )
,但我找不到方法(我有一个超时的错误,但测试失败)。
感谢您的帮助
你的观察完成了吗?看起来您正在测试可观察对象是否发出任何 events
而不是 values
假设您正在 XCTest 框架上进行测试,
- 如果您要测试观察对象在完成之前是否不发射任何元素,
XCTAssertNil(try observable.toBlocking().first())
- 如果您正在测试观察对象是否不发射任何元素,也不完成
// Check error if necessary
XCTAssertThrowsError(try observable.toBlocking(timeout: timeout).first())