【问题标题】:How to debug mockito mocks/stubs/matchers?如何调试 mockito 模拟/存根/匹配器?
【发布时间】:2016-08-20 12:34:51
【问题描述】:

在使用 mockito 进行正常测试开发期间,我(当然还有许多其他人)遇到了很多情况,我们的 when(service.doSomething(paramMatcher, paramMatcher2, ...).thenReturn(...) 让我发疯。所以列表、vargars、null 值等之间可能存在许多组合。通常要花费数小时来尝试正确计算公式,即使这样我也放弃了,只使用 any() 和 thenAnswer(手动匹配)。

如何调试mockito的参数匹配机制?为了增加难度,我使用 Mockito runner 运行我的测试,这意味着我使用注释来初始化并自动注入我的模拟服务。

【问题讨论】:

    标签: java unit-testing testing junit mockito


    【解决方案1】:

    您可以在您的模拟对象上启用详细日志记录:

    List mockWithLogger = mock(List.class, withSettings().verboseLogging())
    

    这应该为您提供更多信息以了解交互。

    http://docs.mockito.googlecode.com/hg/latest/org/mockito/MockSettings.html#verboseLogging

    【讨论】:

    • 看到了这个,但是我如何将它与创建我的模拟的@Mock 方式集成?
    • @Pierre 使用注释驱动的声明将不起作用。您需要切换到内联实例化。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    • 1970-01-01
    • 2014-05-14
    • 1970-01-01
    • 2016-05-30
    • 2018-12-05
    • 1970-01-01
    相关资源
    最近更新 更多