【发布时间】:2020-06-05 02:39:17
【问题描述】:
我有一个 observable,如果它失败了,我需要重试几次。我目前正在尝试对其进行单元测试。到目前为止,我已经这样做了,但它失败了并且总是返回 1 而不是 11 次:
func testSetCreated_ShouldRetry10Times_BeforeStopping() throws {
let setCreatedProvider: (String, String) -> Single<ResponseData> = { (_, _) in
return .error(RxCocoaURLError.unknown)
}
let statusHandler = createConsultationHandler(setCreatedProvider: setCreatedProvider)
var setCreatedEmitCount = 0
statusHandler.setCreated(consultationId: .random(length: 24))
.subscribe(onError: { _ in
setCreatedEmitCount += 1
})
.disposed(by: disposeBag)
sleep(10)
XCTAssertEqual(11, setCreatedEmitCount)
}
那么,如果失败,我该如何测试这将被调用最多 11 次?谢谢。
【问题讨论】: