如何在munit中模拟http连接器

时间:2014-07-24 10:20:59

标签: mule

我们正在使用我们的自定义http连接器和出站引用该连接器,如下所示

<http:connector name="myConnector">
<!-- config -->
</http:connector>
<http:endpoint name="myEndpoint" ref="myConnector">
<!-- config -->
</http:endpoint>

<http:outbound-endpoint name="myOutbound" ref="myEndpoint">

当我在没有指定任何属性的情况下模拟http出站时,它的模拟。但是如果我在指定属性时使用模拟,那么它会抛出异常说

"cannot process event as myConnector has stopped working".

1 个答案:

答案 0 :(得分:0)

默认情况下,munit会停止连接器,如果您看到该消息,则意味着您没有按下正确的模拟端点。我会检查属性是否正确匹配。您可以发布模拟配置和端点配置吗?因此可以提供更好的答案。

您可以模拟与任何消息处理器相同的端点:

whenMessageProcessor("outbound-endpoint").ofNamespace("http").thenReturnSameEvent()

作为旁注,如果您不希望默认情况下停止连接器,则可以覆盖FunctionalMunitSuite中的haveToMockMuleConnectors:

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

但是你不会碰到模拟的端点。