Mule JUnit Test on Exception Stack
我正在尝试在我创建的Mule Flow上创建一个JUnit测试,我们测试是否在未提供文件时抛出自定义异常。
目前,我通过使用Java将文件放入监听目录来手动触发Mule服务,以触发启动Flow的文件端点。 然后我评估输出文件以查看流是否正常工作。 有没有办法做同样的事情,但JUnit测试组件可以监听Mule服务并捕获异常堆栈有效负载并断言实际和预期的错误消息?
更多地了解我正在尝试做的事情:
1 2 3 4 5 6 7 8 9 10 11 12 13 | @Test public void testValidExceptionThrown () throws Exception { MuleClient client = muleContext.getClient(); dropInputFileIntoPlace("control_000001.dat","input/control_000001.dat"); MuleEventContext eventContext = getTestEventContext(client); MuleMessage message = eventContext.getMessage(); String strActualExceptionMessage = message.getExceptionPayload().getMessage(); String strExpectedMessage ="Custom Exception"; assertEquals("the exception message thrown matches the expected exception message", strExpectedMessage, strActualExceptionMessage); } |
当我用Java手动触发Mule流时,有没有办法捕获eventContext?
您应该使用
1 | muleClient.dispatch("file://D:/test_docs/in", inputFileName, null); |
编辑:
一旦你调度了文件,如果你的流程在正常过程中写入
1 | MuleMessage result = client.request("file://D:/test_docs/out/error", 5000); |
请记住在
使用MUnit,您可以从JUnit,Mule配置文件,断言,模拟消息处理器等中使用它。