Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用activemq和spring3进行集成测试?_Spring_Testing_Activemq_Mockito - Fatal编程技术网

如何使用activemq和spring3进行集成测试?

如何使用activemq和spring3进行集成测试?,spring,testing,activemq,mockito,Spring,Testing,Activemq,Mockito,我有这样的代码,但我不确定如何测试从项目中提取的这段代码。我正在使用Spring3和ActiveMQ。我用spring做远程HTTPInvoker,这就是为什么我有网关。所以,当我在我的网关中调用方法submit时,它将通过JMSDispatcher发送一条JMS消息。您将如何将JmsTemplate注入Gateway?据我所知,如果我想测试JMS,我必须在Spring的application-context.xml中配置它,并注入覆盖的JmsTemplate。那么,我可以在队列中测试消息?但是

我有这样的代码,但我不确定如何测试从项目中提取的这段代码。我正在使用Spring3和ActiveMQ。我用spring做远程HTTPInvoker,这就是为什么我有网关。所以,当我在我的网关中调用方法
submit
时,它将通过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);
    }
}