51Testing软件测试论坛

标题: 在集成测试中异步逻辑如何测试? [打印本页]

作者: 测试积点老人    时间: 2018-11-14 09:59
标题: 在集成测试中异步逻辑如何测试?
代码中存在异步逻辑
  1. @Autowired
  2. AsyncRunner asyncRunner;
  3. ...
  4. public Result testMethod() {
  5.     ...
  6.     asyncRunner.submit(()->{
  7.     // 一些异步逻辑
  8.     });
  9.     ...
  10. }
复制代码
如果直接测试的话,异步方法来不及执行完整。现在是粗暴地通过Thread.sleep()来测试,有没有办法能够借助mock,使得异步逻辑在测试中同步执行?
期望的方法如:
  1. @Mock
  2. AynscRunner asyncRunner;
  3. ...
  4. when(asyncRunner.submit(testLogic())).callRealMethod(testLogic());
  5. Result result = testMethod();
复制代码



作者: qqq911    时间: 2018-11-14 10:50
后期查数据吧
作者: jingzizx    时间: 2018-11-14 11:21
查看时间吧
作者: 梦想家    时间: 2018-11-15 13:56
后期查数据吧
作者: libingyu135    时间: 2018-11-15 14:21
支持后期查数据,异步不好测,还有一种方法 你可以先让开发给你调下时间,延长中间的时间,迫使他同步
作者: 海海豚    时间: 2018-11-15 15:34
可以后期查数据




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2