Мой тестовый класс:проверка вызова метода не удается в единичном испытании
@Before
public void init() {
arg2= mock(Dispatcher.class);
target = new FileHandlerImpl(Dispatcher, service , channel, scope);
}
@Test
public void shouldVerifyCalls() throws Exception {
final String arg1 = "Some arg 1";
final String arg3 = "Some arg 3";
final String arg4 = "Some arg 4";
target.handleMessage(message, endpointSession);
verify(arg2).send(arg1, arg2, arg3, arg4); //here is error
}
Error Log:
Argument(s) are different! Wanted:
Dispatcher.send(
"179fb6c5-9e47-41cc-9903-d0df5a317f55",
Mock for Dispatcher, hashCode: 992040402,
null,
null
);
-> at com.TestApp.FileHandlerTest.shouldVerifyCalls(FileHandlerTest.java:77)
Actual invocation has different arguments:
Dispatcher.send(
"d6723004-45aa-4958-8a8e-595a01056c82",
Dispatcher{id=100, serial='null', sentTime=1, priority=99},
null,
null
);
Что ваш вопрос? Ошибка Mockito точно говорит вам, что происходит. –
Я знаю о ошибке mockito, что «аргументы разные». Но я просто хочу проверить, вызывается ли метод 'send' один раз или нет, независимо от аргументов. –
Вызывается метод 'send'. В противном случае Мокито сказал бы что-то вроде «Wanted, но не вызвал». Вы можете создать простой пример и посмотреть его поведение. –