Mockito间谍的详细模式

时间:2017-07-05 09:01:06

标签: java mocking mockito

创建普通模拟时,可以使模拟详细,以便于调试,例如:

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

取自Mockito documentation的示例。使用间谍时如何获得类似的结果?即我想写一些类似的东西:

List spyWithLogger = spy(new MyList(), withSettings().verboseLogging());

但似乎没有编译。

1 个答案:

答案 0 :(得分:1)

看看spy的实现,应该可以进行以下工作:

MyList myList = new MyList();
List spyWithLogger = mock(myList.getClass(), withSettings()
                                             .verboseLogging()
                                             .spiedInstance(myList)
                                             .defaultAnswer(CALLS_REAL_METHODS));