在集成测试中异步逻辑如何测试?
代码中存在异步逻辑@Autowired
AsyncRunner asyncRunner;
...
public Result testMethod() {
...
asyncRunner.submit(()->{
// 一些异步逻辑
});
...
}如果直接测试的话,异步方法来不及执行完整。现在是粗暴地通过Thread.sleep()来测试,有没有办法能够借助mock,使得异步逻辑在测试中同步执行?
期望的方法如:
@Mock
AynscRunner asyncRunner;
...
when(asyncRunner.submit(testLogic())).callRealMethod(testLogic());
Result result = testMethod();
后期查数据吧 查看时间吧 后期查数据吧 支持后期查数据,异步不好测,还有一种方法 你可以先让开发给你调下时间,延长中间的时间,迫使他同步 可以后期查数据
页:
[1]