【发布时间】:2016-10-29 23:01:57
【问题描述】:
我正在尝试测试批处理流,但如果我在 MUnit 测试中放置对批处理流的引用,测试将立即完成并运行断言,而批处理流在后台继续。有没有办法强制我的批处理作业同步运行,以便我可以检查 MUnit 测试中的结果?
【问题讨论】:
-
如果您已将代码设为异步,那么当您调用父流程时会有所帮助,因为它将同步完成。如果您需要测试批次然后将批次放在另一个流程中,然后调用该流程可以帮助您完成批次
-
是的,目前就是这样设置的。我还设置了批处理作业来调用子流,因此我可以直接测试这些子流。我也研究了同步组件,它看起来很有希望,但不确定是否值得进一步研究。
-
如果可能的话,你能发布你的 Flow.xml 吗?如果不是实际流程,至少是一个模拟流程,我可以对其进行测试
-
我的代码中还有很多其他的东西,但只需使用批处理流创建一个新项目,在第一步和 on complete 步骤中抛出“Set Payload”,然后尝试构建一个将断言最终设置的有效负载的测试。您会看到无法访问批处理作业的结果。
标签: mule anypoint-studio munit