0

我在 Mule 中构建了一个模块来处理特定用例的 HTTP 响应。对于我的单元测试,我需要模拟一个 http 服务器。使用 Mule 功能测试执行此操作的推荐方法是什么?Mule 是否为此类事物提供任何测试实用程序?

4

1 回答 1

0

您可以创建模拟服务器,使用HTTP传输和test:component(来自测试模块)存根远程服务器,例如:

<flow name="acmeApiStub">
    <http:inbound-endpoint ref="acmeApiEndpoint" />
    <test:component />
</flow>

<test:component />允许您设置虚假响应、抛出异常等...以模拟不同的情况。

附带说明一下,对于我想使用与 Mule 无关的 Web 服务器的情况(例如,因为我在测试期间两边都有 Mule 来保证事情不工作),我通常会转向Simple,一个不错的嵌入式 Java HTTP 服务器非常适合测试。

此外,我建议您为测试使用动态分配的端口,这样您在 CI 服务器上构建时就不会冒冲突的风险。为此,在您的配置中,为端口使用属性占位符,例如http.port并让功能测试为您分配它们:

@Rule
public DynamicPort httpPort = new DynamicPort("http.port");
于 2013-05-27T19:09:58.007 回答