Junit Test测试Mule Flow中的Http Outbound端点

时间:2014-02-07 01:56:05

标签: unit-testing mule junit4 esb mule-studio

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

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

先谢谢。 Jai Shammi Raj Kulkarni

3 个答案:

答案 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)

答案 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);
    }