gpt4 book ai didi

java - 在 MUnit 中获取 http 响应代码

转载 作者:行者123 更新时间:2023-11-28 21:29:16 25 4
gpt4 key购买 nike

我有一个流程,我正在尝试使用 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 响应代码?

最佳答案

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

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

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

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

关于java - 在 MUnit 中获取 http 响应代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29403352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com