测试积点老人 发表于 2018-11-14 09:59:01

在集成测试中异步逻辑如何测试?

代码中存在异步逻辑
@Autowired
AsyncRunner asyncRunner;
...
public Result testMethod() {
    ...
    asyncRunner.submit(()->{
    // 一些异步逻辑
    });
    ...
}如果直接测试的话,异步方法来不及执行完整。现在是粗暴地通过Thread.sleep()来测试,有没有办法能够借助mock,使得异步逻辑在测试中同步执行?
期望的方法如:
@Mock
AynscRunner asyncRunner;
...
when(asyncRunner.submit(testLogic())).callRealMethod(testLogic());
Result result = testMethod();

qqq911 发表于 2018-11-14 10:50:31

后期查数据吧

jingzizx 发表于 2018-11-14 11:21:37

查看时间吧

梦想家 发表于 2018-11-15 13:56:49

后期查数据吧

libingyu135 发表于 2018-11-15 14:21:14

支持后期查数据,异步不好测,还有一种方法 你可以先让开发给你调下时间,延长中间的时间,迫使他同步

海海豚 发表于 2018-11-15 15:34:27

可以后期查数据
页: [1]
查看完整版本: 在集成测试中异步逻辑如何测试?