【问题标题】:Unit test for aggregated spring cloud stream application聚合Spring Cloud Stream应用的单元测试
【发布时间】:2016-11-29 14:27:41
【问题描述】:

我正在对聚合的 spring 云流应用程序进行单元测试,主要方法如下所示:

@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        new AggregateApplicationBuilder(MyApplication .class, args)
                .from(MyProcessor.class)
                .via(MyFilterProcessor.class)
                .run();
    }
}

在单元测试中,我通过如下处理器发送消息,但 MyProcessor 被调用。如果我通过数据流服务器部署这个聚合应用程序,一切都会按预期工作。

请指教

 @RunWith(SpringJUnit4ClassRunner.class)
  @SpringBootTest( classes = {
                    MyApplication .class,
                })
  @DirtiesContext
   public class AggTest{
    @Autowired
    private Processor processor;

    @Autowired
    protected MessageCollector messageCollector;

    @Test
      public void testMethod(){
        processor.input().send(message);
        messageCollector.forChannel(processor.output()).poll();
     }
    }

【问题讨论】:

    标签: spring-cloud-stream


    【解决方案1】:

    我添加了https://github.com/spring-cloud/spring-cloud-stream/issues/723 来跟踪这个。

    需要将测试的应用程序设置为聚合 - 与 main 方法一样。但是,在这种情况下,获取输入通道并发送消息似乎并不容易。恐怕这是一个障碍,但希望我们能尽快修复它。

    【讨论】:

      猜你喜欢
      • 2017-06-20
      • 2020-07-07
      • 1970-01-01
      • 2018-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多