【问题标题】:Junit Test to test Http Outbound endpoint in Mule FlowJunit Test 在 Mule Flow 中测试 Http Outbound 端点
【发布时间】:2015-08-25 20:22:00
【问题描述】:

我有一个基本的 Mule ESB 应用程序,其基本流程如下: "Http Inbound Endpoint (request-response mode) -> logger -> HTTP Outbound Endpoint (request-response mode) -> Java component"

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

提前致谢。 Jai Shammi Raj Kulkarni

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:
      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);
          }
      

      【讨论】:

        【解决方案3】:
        猜你喜欢
        • 2010-11-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-07-17
        • 2013-02-22
        相关资源
        最近更新 更多