【问题标题】:Getting http response code in MUnit在 MUnit 中获取 http 响应代码
【发布时间】:2015-04-02 17:45:04
【问题描述】:

我有一个流程,我正在尝试使用 Munit 在 Mule 中测试一个基本的 HTTP 流程,流程看起来像这样:

<flow name="health-checkFlow">
    <http:listener config-ref="HTTP_Listener_Configuration"
        path="/" allowedMethods="GET" doc:name="HTTP">
        <http:response-builder  />
    </http:listener>
....
</flow>

我使用 Munit 调用流程:

MuleEvent resultEvent = runFlow("health-checkFlow", testEvent(""));

resultEvent 对象具有正确的有效负载,但是当我尝试使用以下方法获取 http 响应代码时:

    assertEquals("HTTP status code should be 200","200",resultEvent.getMessage().getOutboundProperty("http.status"));

状态始终为空。如何从 Munit 中的消息中获取 http 响应码?

【问题讨论】:

    标签: java testing mule


    【解决方案1】:

    通过调用 runFlow,您实际上绕过了 http:listener 并直接调用了流。默认情况下,入站端点和连接器将被禁用。要测试 http 部分,请在您的测试用例中覆盖以下内容:

    @Override
    protected boolean haveToMockMuleConnectors()
    {
    return false;
    }
    
    @Override
    protected boolean haveToDisableInboundEndpoints()
    {
    return false;
    }
    

    然后我会使用标准的 Java HTTP 客户端或者 Mule 客户端来测试 HTTP 入站端点并检查状态码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 1970-01-01
      • 2013-05-23
      相关资源
      最近更新 更多