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();
...
有没有相关的日志文件 有没有相关的日志文件
有没有相关的日志文件 有没有相关的日志文件 这个不好测试。。。
页:
[1]