При написании модульного теста Mockito для метода с несколькими переданными аргументами я хочу убедиться, что были переданы точные аргументы. Подпись метода (для примера):
public void process(String stringParam, int numParam, CustomObject objectParam)
Я знаю, что эти параметры должны быть переданы внутрь:
String stringParam = "line1 \n line2 \n line2 \n"
int numParam = 123;
AnotherCustomObject bank = new AnotherCustomObject(1, "Bank name")
CustomObject objectParam = new CustomObject(1, "Customer name", bank);
Проверьте метод выглядит соответственно:
verify(testObject, times(1)).process(eq(stringParam), eq(numParam), eq(objectParam));
Но результат будет
Argument(s) are different! Wanted:
...all the details of failure...
Comparison Failure: <Click to see difference>
...the rest of details...
Когда вы нажимаете Нажмите, чтобы увидеть разницу с надеждой увидеть исходную проблему, вы увидите только запутанное сообщение Содержимое идентично (по крайней мере, в IntelliJ Idea вы видите это сообщение) ![enter image description here](https://i.stack.imgur.com/jaqNP.png)