Я хочу написать тесты Мокито для следующего класса:
public class SomeClass {
public String doSomething(SomeObject a, JsonArray b) {
doSomething(a, b, "");
}
public String doSomething(SomeObject a, JsonArray b, String c) {
// do some stuff
}
}
Я хотел подражать аргументам по умолчанию, перегружая метод doSomething
. Второй doSomething
Я уже получил тестовый пример, который проверяет, что все работает правильно.
Теперь я хочу проверить первый doSomething
, просто убедившись, что вызов второго там вызывается с правильными аргументами.
Итак, моя попытка для теста была:
@Test
public void testDoSomething() {
// Prepare
final SomeClass clsIns = Mockito.mock(SomeClass.class);
final SomeObject someObj = Mockito.mock(SomeObject.class);
final JsonArray jsonArray = new JsonArray();
// Act
clsIns.doSomething(someObj, jsonArray);
// Assert
Mockito.verify(clsIns).doSomething(someObj, jsonArray, "");
}
Но это не проверка вызова второго перегруженного метода, а вместо этого сообщение о том, что аргументы были другими (Wanted: someObj, jsonArray, ""
, Actual: someObj, jsonArray
)
Как я могу сказать Mockito, чтобы проверить аргументы перегруженного (второй doSomething)
метод?