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