【发布时间】:2012-08-03 19:28:11
【问题描述】:
如何启用Mockito 调试消息?特别是,我想打印带有 when() 存根的方法的详细信息以及与这些方法的每次交互。
【问题讨论】:
标签: java debugging testing mockito
如何启用Mockito 调试消息?特别是,我想打印带有 when() 存根的方法的详细信息以及与这些方法的每次交互。
【问题讨论】:
标签: java debugging testing mockito
Mockito 1.9.0 引入了侦听器,现在捆绑了详细记录器:
所以基本上如果你想要简单而愚蠢的日志,只需执行以下操作:
List mockWithLogger = mock(List.class, withSettings().verboseLogging());
更多信息请参见http://docs.mockito.googlecode.com/hg/latest/org/mockito/MockSettings.html#verboseLogging()
干杯,
【讨论】:
mock(type, withSettings().verboseLogging()) 初始化该字段。将被InjectMocks领取
Brice 答案是可行的方法,但另一种选择是:
new org.mockito.internal.debugging.MockitoDebuggerImpl().printInvocations(mockedObject);
它只是将在该点之前发生的交互打印到给定选项。不够健壮,但可以解决问题,并且在某些情况下可能有用(即使用模拟注释时)
例如,这应该根据MockitoSettings工作
spiedObject = mock(ToMock.class, withSettings().spiedInstance(toMockInstance).verboseLogging())
虽然在 1.9.5 中似乎没有监视任何东西,它只是在嘲笑它。
【讨论】:
MockitoDebuggerImpl 现在已弃用。相反,请使用:Mockito.mockingDetails(myMock).printInvocations()