Testing 使用FunctionalTestCase测试异步Mule流

Testing 使用FunctionalTestCase测试异步Mule流,testing,mule,junit4,mule-studio,mule-component,Testing,Mule,Junit4,Mule Studio,Mule Component,我有一个流程,比如: <flow name='main_flow'> ..... <vm://out_bound-endpoint1 /> <flow-ref name='sub-flow1'/> </flow> <sub-flow name='sub-flow1'> <cxf://endpoint/> </sub-flow> ..... 这里的“vm://endpoint1>”是单向的,流是异步的 如

我有一个流程,比如:

<flow name='main_flow'>
.....
<vm://out_bound-endpoint1 />
<flow-ref name='sub-flow1'/> 
</flow>

<sub-flow name='sub-flow1'>
<cxf://endpoint/>
</sub-flow>

.....
这里的“vm://endpoint1>”是单向的,流是异步的

如何测试端到端。 使用'muleContext.getRegistry().lookupFlowConstruct('sub-flow1')
给出cast异常。

您不能在mule中直接测试子流。目前还不支持此操作

请参阅以下stackoverflow post,其中提供了更多详细信息


要完成这里的端到端测试,我需要知道消息被分派到VM队列后会发生什么情况。据推测,还有另一个流消耗该端点并做更多的事情


我的端到端测试将向作为此流的消息源的传输启动一条消息,然后监视并断言从VM队列接收消息的流。

要执行端到端测试,您需要在测试中包括流的起点,因为它将在生产中工作,这是,您需要使入站端点运行、调用它或使它读取一些值。然后验证所有系统是否如预期的那样受到影响,在您的情况下,您应该去看看您的WS是否收到了正确的请求


我建议您使用JUnit进行设置和验证,但我无法帮助您了解如何触发流执行或如何验证预期结果。

谢谢,至少我可以使用eventCallback从子流捕获事件发生时的响应负载,闩锁等。正如您可能知道的,子流是嵌入到流中的一种代码,EventCallback在捕获从子流收到的响应时没有帮助。@shrinathM这个问题您在哪里?你能用吗?