gpt4 book ai didi

java - 在 Mule 中测试子流

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:06:31 25 4
gpt4 key购买 nike

我已经开始为我的 Mule 项目编写测试用例。

我已经为我的主要流程编写了功能测试用例,如下所示。

public void testMainFlow_1() throws Exception{
MuleClient client = muleContext.getClient();
MuleMessage result = client.send(helloServiceAddress, fileAsString("SamplePayloads/input_Request.xml"), properties);
assertNotNull("Null Result", result);
assertEquals(result.getPayloadAsString(), fileAsString("SampleResponses/sampleResponse.xml"));

}

但是我该如何测试我的子流程。他们没有任何终点。那么我如何将有效负载传递给他们并对其进行测试。

下面是我的流程配置。

<flow name="main_flow" >
....
....
<flow-ref name="subflow_1" />
....
....
<flow-ref name="subflow_2" />
....
....
</flow>

<sub-flow name="subflow_1">
....
<some-transformer ... />
<out-bound call to web-service />
<some-transformer ... />
....
</sub-flow>

<sub-flow name="subflow_2">
....
<some-transformer ... />
<out-bound call to web-service />
<some-transformer ... />
....
</sub-flow>

最佳答案

使用 FunctionalTestCase 它应该很简单:

MessageProcessor subFlow = muleContext.getRegistry().lookupObject("subflow_1");
MuleEvent result = subFlow.process(getTestEvent("test_data"));

但是it doesn't work .

目前,IMO 的最佳方法是拥有一个测试配置,其中包含要测试的子流的流包装器,并将此测试配置与 FunctionalTestCase 中的主配置一起加载。

@genjosanzo 的方法也有效,但它基于将子流程与来自测试代码本身的预先存在的主流相关联。我个人认为创建测试流程会更严格。

关于java - 在 Mule 中测试子流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14717131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com