Может ли Mockito проверять параметры на основе их значений во время вызова метода?
у меня естьFoo
класс, который является SUT и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);
}
Обратите внимание, что сотрудник на самом деле является объектом шпиона, а не насмешкой. Этот тест не пройдёт, потому что даже еслиrun()
был вызван с аргументом, равнымexpectedList
, он был изменен, и его текущее значение больше не равноexpectedList
, Тем не менее, это способ, которым он должен работать, поэтому мне интересно, есть ли способ, чтобы Mockito сохранял снимок параметров при вызове метода и проверял их на основе этих значений, а не самых последних значений.