模拟Mule FunctionalTest的HTTP服务器

时间:2013-05-27 18:57:33

标签: testing mocking mule

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

1 个答案:

答案 0 :(得分:0)

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

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

<test:component />允许你设置假响应,抛出异常等......来模拟不同的情况。

作为旁注,对于我想使用与Mule无关的Web服务器的情况(为了保证因为我在测试期间双方都有Mule而无法正常工作),我通常会转向{ {3}},一个很好的可嵌入Java HTTP服务器,非常适合测试。

另外,我建议您使用动态分配的端口进行测试,以便在构建CI服务器时不会产生冲突风险。为此,在您的配置中,使用端口的属性占位符,如http.port,并让功能测试为您分配:

@Rule
public DynamicPort httpPort = new DynamicPort("http.port");