Я пытаюсь протестировать класс, в который отправляю сообщение jms, но не могу высмеять JmsTemplate
JmsProducer.class:
@Component
public class JmsProducer {
@Autowired
private JmsTemplate jmsTemplate;
@Value("${destination}")
private String destination;
public void send(String message){
jmsTemplate.convertAndSend(destination, message);
}
}
JmsProducerTest.Class:
@RunWith(SpringRunner.class)
public class JmsProducerTest {
private static final String DESTINATION= "example";
private static final String MESSAGE= "message";
@InjectMocks
private JmsProducer jmsProducer;
@MockBean
JmsTemplate jmsTemplate;
@Before
public void init(){
ReflectionTestUtils.setField(jmsProducer, "destinationQueue", DESTINATION);
}
@Test
public void testsend(){
jmsProducer.send(MESSAGE);
verify(jmsTemplate,times(1)).convertAndSend(DESTINATION, MESSAGE);
}
}
И когда я запускаю этот тестовый пример, он дает мне: java.lang.IllegalArgumentException: объект не является экземпляром объявления класса
У вас есть идеи по этому вопросу?