51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4508|回复: 5
打印 上一主题 下一主题

[求助] 在集成测试中异步逻辑如何测试?

[复制链接]
  • TA的每日心情
    擦汗
    昨天 09:24
  • 签到天数: 428 天

    连续签到: 1 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2018-11-14 09:59:01 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    代码中存在异步逻辑
    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();
    复制代码


    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-6-8 19:29 , Processed in 0.063364 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表