使用 Mulesoft 模拟 MUnit 中的异常
Mock an Exception in MUnit with Mulesoft
我有一个包含对外部服务的 http 请求的流。我想添加一个 MUnit 测试以确保当外部服务关闭并且 return 是 500 时逻辑功能正常。我模拟了 http 请求并且 return 是 500,但是流程没有引发异常因为我在 APIKit 之外进行测试。
有没有办法强制模拟组件引发特定异常?
您可以模拟消息处理器并使用 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
我有一个包含对外部服务的 http 请求的流。我想添加一个 MUnit 测试以确保当外部服务关闭并且 return 是 500 时逻辑功能正常。我模拟了 http 请求并且 return 是 500,但是流程没有引发异常因为我在 APIKit 之外进行测试。
有没有办法强制模拟组件引发特定异常?
您可以模拟消息处理器并使用 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