我有一个基本的Mule ESB应用程序,其基本流程如下: “Http入站端点(请求 - 响应模式) - >记录器 - > HTTP出站端点(请求 - 响应模式) - > Java组件”
查询:如何编写junit测试用例来测试上述流程。可以看出,我有一个HTTP出站端点(请求 - 响应模式),它指的是一些大型应用程序,它执行大量处理然后返回响应。我是否会模拟此HTTP出站端点? 我不想单独测试HTTP出站端点(请求 - 响应模式)。我想对整个流程进行junit测试。
先谢谢。 Jai Shammi Raj Kulkarni
答案 0 :(得分:5)
您可以使用HTTP入站端点和test:组件创建测试流,以设置有效负载,并将流文件添加到测试配置文件中。但是,我更喜欢使用Confluex Mock HTTP API来测试具有HTTP出站端点的应用程序。它在localhost上设置了一个模拟HTTP服务器,您可以使用指定的数据和响应代码响应不同的调用,因此您也可以运行各种故障情形。在FunctionalTestCase类中的@Before注释方法中设置模拟服务器,并在@After方法中将其停止,因此它可用于测试方法。
Mule文档提供了有关如何创建功能测试用例的一些基本信息:http://www.mulesoft.org/documentation/display/current/Functional+Testing
答案 1 :(得分:0)
你检查过Munit吗?
https://github.com/mulesoft/munit/wiki/First-Munit-test-with-Mule-code https://github.com/mulesoft/munit/wiki
同时检查一下: http://www.mulesoft.org/documentation/display/current/Introduction+to+Testing+Mule
答案 2 :(得分:0)
public void httpEndpoint() throws IOException
{
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("http://localhost:8085/api/search");
HttpResponse response = client.execute(httpGet);
assertNotNull(response);
}