Mule 在MUnit中测试批处理流

Mule 在MUnit中测试批处理流,mule,anypoint-studio,munit,Mule,Anypoint Studio,Munit,我正在尝试测试批处理流,但是如果我在MUnit测试中放置对批处理流的引用,测试将立即完成并运行断言,而批处理流在后台继续。有没有办法强制我的批处理作业同步运行,以便我可以在MUnit测试中检查结果?这里有一个应用程序演示了如何做到这一点: 实现这一目标的方法是使用以下弹药组件: HTH如果您已经使代码异步化,那么当您调用父流时会有所帮助,因为它将同步完成。如果您需要测试批处理,那么将批处理放在另一个流中,然后调用该流,这可以帮助您完成批处理。是的,这就是当前设置的方式。我还有批处理作业设置来

我正在尝试测试批处理流,但是如果我在MUnit测试中放置对批处理流的引用,测试将立即完成并运行断言,而批处理流在后台继续。有没有办法强制我的批处理作业同步运行,以便我可以在MUnit测试中检查结果?

这里有一个应用程序演示了如何做到这一点:

实现这一目标的方法是使用以下弹药组件:


HTH

如果您已经使代码异步化,那么当您调用父流时会有所帮助,因为它将同步完成。如果您需要测试批处理,那么将批处理放在另一个流中,然后调用该流,这可以帮助您完成批处理。是的,这就是当前设置的方式。我还有批处理作业设置来调用子流,这样我可以直接测试这些子流。我也研究了同步组件,这看起来很有希望,但不确定是否值得进一步研究。如果不是实际的流,至少是一个模拟流,我可以对我的代码中有很多其他内容进行测试,但只需使用批处理流创建一个新项目,在第一步和完成步骤中抛出“Set Payload”,然后尝试构建一个测试来断言最终的Set Payload。您将看到无法访问批处理作业的结果。我发现,从3.9开始,此功能不再有效。是否有一个解决方法,或者我遗漏了什么?cvc复杂类型.2.4.a:发现以元素“synchronize:run and wait”开头的无效内容。应该是“{”、“,”、“}”中的一个。结果是我需要修复pom.xml。我缺少对市政同步模块的依赖。加上这个之后,它就开始工作了。