测试积点老人 发表于 2018-6-15 10:14:41

Day2-8测试积点任务

本帖最后由 测试积点老人 于 2018-6-15 11:40 编辑

问题:
集成测试中如何测试异步逻辑?
代码中存在异步逻辑


<div><font face="微软雅黑" size="3">@Autowired</font></div><div><font face="微软雅黑" size="3">AsyncRunner asyncRunner;</font></div><div><font face="微软雅黑" size="3">...</font></div><div><font face="微软雅黑" size="3">public Result testMethod() {</font></div><div><font face="微软雅黑" size="3">    ...</font></div><div><font face="微软雅黑" size="3">    asyncRunner.submit(()->{</font></div><div><font face="微软雅黑" size="3">    // 一些异步逻辑</font></div><div><font face="微软雅黑" size="3">    });</font></div><div><font face="微软雅黑" size="3">    ...</font></div><div><font face="微软雅黑" size="3">}</font></div>

如果直接测试的话,异步方法来不及执行完整。现在是粗暴地通过Thread.sleep()来测试,
有没有办法能够借助mock,使得异步逻辑在测试中同步执行?
期望的方法如:


@Mock
AynscRunner asyncRunner;
...
when(asyncRunner.submit(testLogic())).callRealMethod(testLogic());
Result result = testMethod();
...

abcsell 发表于 2018-6-19 09:59:21

有没有相关的日志文件

qqq911 发表于 2018-6-19 10:33:20

有没有相关的日志文件

海海豚 发表于 2018-6-19 10:36:03


有没有相关的日志文件

梦想家 发表于 2018-6-19 10:43:35

有没有相关的日志文件

jingzizx 发表于 2018-6-19 11:17:31

这个不好测试。。。
页: [1]
查看完整版本: Day2-8测试积点任务