0
我們想要模擬某些測試的Aggregators消息存儲,但我們無法找到如何將其注入到JUnit測試中。我們嘗試使用AggregatingMessageHandler而沒有成功。有沒有辦法做到這一點?模擬聚合器的消息存儲
在此先感謝
問候
古斯曼
編輯:
@Autowire
private MessageHandler aggregator;
@Test
public test(){
SimpleMessageStore store = new SimpleMessageStore(50) {
@Override
public MessageGroup addMessageToGroup(Object groupId, Message<?> message) {
if (simulateConnectionException) {
throw new SomeException("Foo");
}
return super.addMessageToGroup(groupId, message);
}
aggregator.setMessageStore(store);
...
}
我們沒有失去消息的所有沿水流,所以我們要模擬的聚合器之間的連接,它的郵件存儲。在聚合器的某個隨機點上,我們想要拋出一個ConnectionException。我看起來前面AggregtorTests – gllambi 2014-09-02 13:37:36
我用建議的技術編輯我的答案。 – 2014-09-02 13:44:06
Gary,我嘗試了你的建議,但只能在我的JUnit中注入一個EventDrivenConsumer,我無法設置CustomMessageStore。我需要MessageHandler來做到這一點。我可以使用測試流定義一個自定義聚合器將其注入到我的測試中,但我不會測試真實流量。任何其他建議? – gllambi 2014-09-02 19:12:53