2014-02-07 41 views
0

我有一个基本的Mule ESB应用程序,其基本流程如下: “Http入站端点(请求 - 响应模式) - >记录器 - > HTTP出站端点(请求响应模式) - > Java组件“Junit测试以测试Mule流中的Http出站端点

查询:如何编写junit测试用例来测试上述流程。可以看出,我有一个HTTP Outbound Endpoint(请求 - 响应模式),它引用了一些大型应用程序,它执行大量处理,然后返回一个响应。我是否嘲笑这个HTTP出站端点? 我不想单独测试HTTP出站端点(请求 - 响应模式)。我想要junit测试整个流程。

在此先感谢。 Jai Shammi Raj Kulkarni

回答

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); 
    } 
5

您可以使用HTTP Inbound Endpoint和一个用于设置有效负载的test:组件创建测试流,并将流文件添加到测试配置文件中。但是,我更愿意使用Confluex Mock HTTP API来测试具有HTTP出站端点的应用程序。它在本地主机上建立一个模拟HTTP服务器,您可以在其中使用指定的数据和响应代码响应不同的呼叫,因此您也可以运行各种故障情况。在FunctionalTestCase类的@Before注释方法中设置模拟服务器,并在@After方法中停止它,以便它可用于测试方法。

骡子文档提供了关于如何创建功能测试用例的一些基本信息:http://www.mulesoft.org/documentation/display/current/Functional+Testing