0
我想,如果驗證通過別人編寫測試用例對於返回數據的函數拋出異常測試RxJava例外與TestSubscriber
private String validate(Test test) {
//Validation Logic which returns null or throws Exception
}
public Observable<Test> create(Test test) {
return Observable
.just(validate(test))
.flatMap(x -> testRepository
.create(test));
}
測試用例相同
@Test
public void Should_ThrowException_When_NoData() {
Test test = sampleTest();
TestSubscriber<Test> subscriber = new TestSubscriber<>();
testService
.create(test)
.subscribe(subscriber);
subscriber.awaitTerminalEvent();
Throwable thrown = subscriber.getOnErrorEvents().get(0);
assertThat(thrown)
.isInstanceOf(CustomException.class)
.hasFieldOrPropertyWithValue("errorId", 102);
}
但測試大小寫在testService.create本身上失敗。
這裏有什麼問題?
感謝
由於您在使用返回值創建Observable之前調用'validate()',所以失敗。 – akarnokd
好的,那該如何解決? –
'fromCallable(() - > validate(test))' – akarnokd