2012-08-03 101 views

回答

28

1.9.0的Mockito听众介绍,现在捆绑了详细的记录:

所以,如果你想简单的和愚蠢的日志,只是做了以下基本:

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

更多信息请参见http://docs.mockito.googlecode.com/hg/latest/org/mockito/MockSettings.html#verboseLogging()

干杯,

+1

可以使用@Mock注释字段设置verboseLogging吗? – 2016-08-18 22:33:13

+3

@DanielBrotherston nope,但您可以使用常规'mock(type,withSettings()。verboseLogging())'初始化该字段。它将被'InjectMocks'拾取 – Brice 2016-08-19 11:23:50

7

布莱斯答案是要走的路,但另一种选择是:

new org.mockito.internal.debugging.MockitoDebuggerImpl().printInvocations(mockedObject); 

它只是将该点之前发生的交互打印到给定的选项。不够强劲,但做的伎俩,并可能对某些情况下非常有用(即使用模拟批注时)

例如,这应在1.9.5根据MockitoSettings

spiedObject = mock(ToMock.class, withSettings().spiedInstance(toMockInstance).verboseLogging()) 

的工作,虽然不似乎在窥探任何事情,它只是嘲笑它。

+0

我更喜欢你的答案 - 它提供了更多细节,调试器真的帮了我。 – smirnoff 2016-07-07 21:25:14