1

我有这样的代码,但我不确定如何测试我从项目中提取的这段代码。我正在使用 Spring3 和 ActiveMQ。我正在使用 spring 来执行远程 HTTPInvoker,这就是我拥有 GateWay 的原因。所以,当我调用我的方法submitGateway,它会通过 JMSDispatcher 发送一条 JMS 消息。JmsTemplate你将如何注入Gateway?据我所知,如果我想测试 JMS,我必须在 Spring 的 application-context.xml 中配置它并注入覆盖的 JmsTemplate。那么,我可以测试队列中的消息吗?但我不能注入JmsTemplateGateway因为 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);
    }
}


4

0 回答 0