Метод, который я хочу протестировать, вызывает фиктивный метод с другими аргументами:
public void methodToTest(){
getMock().doSomething(1);
getMock().doSomething(2);
getMock().doSomething(3);
}
В моем модульном тесте я хочу знать, действительно ли methodToTest вызывает эти методы именно с такими аргументами. Вот код, который я написал:
@Test
public void myMockTest(){
oneOf(mock).doSomething(1);
oneOf(mock).doSomething(2);
oneOf(mock).doSomething(3);
}
В (2) я получаю "Неожиданный вызов" - как будто он не может различать разные аргументы. Итак, я попробовал это:
exactly(3).of(mock).doSomething(with(Matchers.anyOf(same(1), same(2), same(3))));
Но это также не дало того, что я ожидал.
Наконец, это сработало:
exactly(3).of(mock).doSomething(with(any(Integer.class)));
Итак, я знаю, что мой метод вызывался 3 раза с любымцелым числом. Есть ли способ убедиться, что это точноаргумент(ы), которые я передал?