我正在尝试使用集成测试来测试以下代码:
return ((Mono<Object>) joinPoint.proceed()).then(provider.getAuthor().flatMap((author) -> {
Arrays.stream(joinPoint.getArgs())
.forEach(arg -> javers.commitShallowDeleteById(author, InstanceIdDTO.instanceId(arg.toString(), deletedEntity)));
return Mono.empty();
}));
jointPoint.proceeed()
总是返回 aMono<Void>
所以这就是我使用then()
.
在调试模式下运行应用程序时,如果我在平面图中放置一个断点,我可以看到它通过那里,但是如果我在其中运行它,则@SpringBootTest
不再在平面图中通过。
测试配置:
@DirtiesContext
@ActiveProfiles("test")
@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
提供者:
when(authorProvider.getAuthor()).thenReturn(Mono.just("Author"));