У меня есть метод void, который создает объекты типа Foo
и обновляет каждую запись списка этих объектов.
Когда список, переданный параметром, пуст, он не должен создавать никаких объектов, поэтому не можетВызов любого метода сеттера класса Foo
.
public static void analyzeList(ArrayList<Something> list) {
for (Something s : list) {
Foo f = new Foo();
f.setSomething(someMethod1(f));
f.setSomething2(someMethod2(f));
s.setFoo(f);
}
}
Итак, я пытаюсь использовать Mockito, чтобы проверить, что метод analyzeList(ArrayList<Something> list)
не вызывает метод сеттера класса Foo
, но у меняэто было непросто, поскольку я никогда раньше не работал с Mockito.
Я написал этот тест:
@Test
public void shouldNotCallSettersWhenListIsEmpty() {
Foo fooMocked = mock(Foo.class);
FooLogic.analyzeList(emptyList);
Mockito.verify(fooMocked, times(0)).setSomething(anyInt());
}
Этот тест пройден, и он должен.Но когда я изменяю times(0)
на times(1)
, тест продолжает проходить и не должен, так как список пуст.
Что я здесь не так делаю?