我用对象列表调用方法 performAction 并验证相同。调用此方法后,我修改了一些“对象”。
Mockito 验证失败,说参数不匹配(显示修改后的对象),但我可以在调试模式下看到对象根据需要是正确的。
理想情况下,这不应该发生,因为应该根据实际调用方法的时间来应用验证。在测试方法中的验证调用期间是否比在模拟方法调用时应用验证?
测试班
@Test
public void test() throws Exception {
List<ABC> objects = new ArrayList<ABC>();
//populate objects.
activity.performActions(objects);
verify(activity, times(1)).doActivity(objects);
}
测试方法:
public void performActions(List<ABC> objects) {
activity.doActivity(urlObjects2PerformAction);
//Modify objects
}
我得到的错误如下(这是完整的代码。我给出了最小的代码段):
Argument(s) are different! Wanted:
activity.doActivity(
.......
......