Мокито жалуется на неправильные аргументы - PullRequest
7 голосов
/ 24 ноября 2010

Мы пытаемся проверить поведение действия с Mockito.Код теста выглядит следующим образом:

final Type1 mock = mock(Type1.class);
new SomeAction<Type1>(mock).actionPerformed(null);

verify(mock).someMethod();

Метод actionPerformed содержит только вызов someMethod для объекта, предоставленного в конструкторе Type1.Тем не менее Mockito жалуется, что ожидаемый вызов метода не произошел, вместо этого произошел другой вызов метода.Но строковое представление двух вызовов, напечатанных Mockito, абсолютно одинаково!

Любое объяснение, что происходит?

Обновление: ErrorMessage от Mockito

Argument(s) are different! Wanted:
type1.someMethod();
-> at xxx
Actual invocation has different arguments:
type1.someMethod();
-> at xxx

1 Ответ

4 голосов
/ 04 декабря 2010

Это немного натянуто, но проверьте ваши реализации toString. Я столкнулся с некоторыми раздражающими сценариями модульного тестирования, в которых ожидаемое и наблюдаемое казалось одинаковым с точки зрения модульного тестирования, хотя в действительности они отличались. В конце концов, это был вариант toString, который заставил меня поверить, что есть сходство, а на самом деле его нет.

...