使用Mulesoft模拟MUnit中的异常

时间:2016-05-27 20:39:01

标签: mule anypoint-studio munit

我有一个包含对外部服务的http请求的流程。我想添加一个MUnit测试,以确保当外部服务关闭并返回500时逻辑功能。我模拟http请求并返回500,但由于我在APIKit之外进行测试,因此流程不会引发异常。

有没有办法强制模拟组件引发特定的异常?

1 个答案:

答案 0 :(得分:4)

您可以使用throw-an消息处理器模拟消息处理器并指示它抛出异常:

https://docs.mulesoft.com/munit/v/1.2.0/mock-message-processor#defining-mock-response-exceptions

它简短地遵循与模拟消息处理器相同的定义模式:

<mock:config name="mock_config" doc:name="Mock configuration"/>
   <mock:throw-an whenCalling="mule:set-payload" exception-ref="#[new java.lang.Exception()]">
</mock:throw-an>

(在此示例中仅定义消息处理器名称,但您也可以使用消息处理器的属性)。

HTH