我有这样的代码,但我不确定如何测试从项目中提取的这段代码。我正在使用Spring3和ActiveMQ。我正在使用spring来做远程HTTPInvoker,这就是为什么我有GateWay。因此,当我在submit
中调用方法Gateway
时,它将通过JMSDispatcher发送JMS消息。您如何向JmsTemplate
注入Gateway
?据我所知,如果我想测试JMS,我必须在Spring的application-context.xml中配置它并注入重写的JmsTemplate。那么,我可以测试队列中的消息吗?但我无法向JmsTemplate
注入Gateway
,因为Mockito会抱怨Gateway
内没有该字段。
public class Gateway {
@Autowired
private ProcessController processController;
public void submit() {
processControllerFactory.submit();
}
}
public ProcessController {
@Autowired
private JMSDispatcher jmsDispatcher;
public void submit() {
// do something
jmsDispatcher.send(message);
}
}
public JMSDispatcher {
@Autowired
@Qualifier("someJmsTemplate")
private JmsTemplate jmsTemplate;
public void send(MessageCreator message) {
jmsTemplate.send(message);
}
}