我有一个带有flatMap的代码块,我正在尝试测试这个代码块,但是看起来Mockito并没有进入flatMap。
下面是我的实际代码类Code.java
private final ObjectResolver objectResolver;
public Mono<String> function toTest(Object obj) {
return Mono.just(obj)
.flatMap(obj -> objectResolver.resolve(obj.getField())
.map(resolved -> StringUtils.join(resolved.getField(), obj.getAnotherField())))
}
下面是我试着检验的方法:
@InjectMocks
private Code code
@Mock
private ObjectResolver objectResolver
@Test
void testToTest() {
when(objectResolver.resolve(any()).thenReturn(Mono.just(new ResolvedObject()));
StepVerifier.create(code.toTest(new Object()))
.expectNext("resultString")
.verifyComplete();
}
当我尝试调试时,Mockito似乎不在flatMap中。有什么想法吗?
发布于 2022-10-13 11:35:17
您需要订阅mono才能发布该项目。
@Test
void testToTest() {
when(objectResolver.resolve(any()).thenReturn(Mono.just(new ResolvedObject()));
StepVerifier.create(code.toTest(new Object()))
.expectNext("resultString")
.verifyComplete();
Mono<String> returnedMono = code.toTest(new Object());
returnedMono.subscribe();
}
https://stackoverflow.com/questions/69262929
复制相似问题