我怎样启用Mockito调试信息?具体来说,我想要打印使用when()
存根化的方法的详细信息以及与那些方法的每次交互。
Mockito 1.9.0 引入了监听器并现在捆绑了一个冗长的记录器:
所以基本上,如果你想要简单和愚蠢的日志,只需执行以下操作:
List mockWithLogger = mock(List.class, withSettings().verboseLogging());
请查看http://docs.mockito.googlecode.com/hg/latest/org/mockito/MockSettings.html#verboseLogging()获取更多信息。
谢谢。
布莱斯的回答是可行的,但另一个选项是:
new org.mockito.internal.debugging.MockitoDebuggerImpl().printInvocations(mockedObject);
该选项会打印在此之前发生的交互。虽然不够健壮,但功能齐全,对于某些情况(例如使用模拟注释时)可能很有用。
例如,根据MockitoSettings,应该可以使用此方法。
spiedObject = mock(ToMock.class, withSettings().spiedInstance(toMockInstance).verboseLogging())
尽管在1.9.5中似乎没有发现任何间谍活动,只是将其嘲弄。
MockitoDebuggerImpl
is now deprecated. Instead, use: Mockito.mockingDetails(myMock).printInvocations()
- Luke
mock(type, withSettings().verboseLogging())
初始化字段。这将被InjectMocks
检测到。 - bric3