Mockito能否在调用方法时根据参数的值来验证参数?
2022-09-02 10:47:05
我有一个类是SUT和一个类,它是它的合作者。 调用带有 “” 作为参数。然后,将向其中添加更多元素,以便其状态将与调用时的状态不同。这是我的测试用例。Foo
Bar
Foo
run(List<Object> values)
Bar
expectedList
Foo
List
run()
@Test
public void testFoo() {
Bar collaborator = spy(new Bar());
Foo sut = new Foo(collaborator);
verify(collaborator).run(expectedList);
}
请注意,协作者实际上是间谍对象,而不是模拟对象。这个测试用例将失败,因为即使调用的参数等于 ,它也被修改了,因为它的当前值不再等于 。但是,这是它应该工作的方式,所以我想知道是否有一种方法可以让Mockito在调用方法时存储参数的快照,并根据这些值而不是最新的值来验证它们。run()
expectedList
expectedList