У меня есть тест Junit, который тестирует отправку сообщений jms. Для этого я использую Spring jmsTemplate. Здесь, как и в следующем коде, я хочу проверить, вызвал ли шаблон JMS сообщение отправки независимо от того, что это такое в значениях передаваемых параметров возбуждения.
мой метод издателя использует метод jmsTemplate для отправки, который выглядит следующим образом.
jmsTemplate.send(jmsQueueProperties.getProperty(key), new MessageCreator()
{
public Message createMessage(Session session) throws JMSException
{
ObjectMessage obj = session.createObjectMessage(dialogueServiceResponse);
return obj;
}
});
в моих тестах.
JmsTemplate mockTemplate = Mockito.mock(JmsTemplate.class);
...
publisher.publishServiceMessage(response);
....
Mockito.verify(mockTemplate,
Mockito.times(1)).send("appointment.queue",
Mockito.any(MessageCreator.class));
Но когда в выполнении я получаю
org.mockito.exceptions.misusing.InvalidUseOfMatchersException: недопустимое использование аргументов!....
Причина вызвана Mockito.any(MessageCreator.class), но нет способа проверить, что мой метод отправки выполняется, не создавая фактического объекта в MessageCreator.
Обновление И есть способ проверить мой session.createObjectMessage(dialogServiceResponse) также вызывается