Убедитесь, что перегруженный метод был вызван с правильными аргументами из метода перегрузки - PullRequest
0 голосов
/ 08 марта 2019

Я хочу написать тесты Мокито для следующего класса:

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) метод?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...