如何调试mockito mocks/stubs/matchers?

Pie*_*rre 6 java testing junit unit-testing mockito

在使用mockito的正常测试开发期间,我(以及许多其他人肯定)遇到了很多情况,我们在什么时候(service.doSomething(paramMatcher,paramMatcher2,...).thenReturn(...)让我发疯.这么多的组合在列表,vargars,null值等之间是可能的.通常只需要花费数小时来尝试使公式正确,即使那时我放弃并且只使用thenAnswer(手动匹配)的any().

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

Gle*_*lar 14

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

List mockWithLogger = mock(List.class, withSettings().verboseLogging())
Run Code Online (Sandbox Code Playgroud)

这应该为您提供更多信息来理解交互.

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

  • @Pierre 使用注解驱动的声明是行不通的。您需要切换到内联实例化。 (2认同)