我想测试我自己的实现Group
的自定义类org.mule.api.lifecycle.Callable
。 Group
实现了onCall(MuleEventContext)
方法。现在要测试Group
,我需要mock
MuleEventContext
课程。
我很想知道人们是如何做到这一点的,以及他们是否可以提出一些最佳做法/技巧和提示,
答案 0 :(得分:1)
您真的需要实施org.mule.api.lifecycle.Callable
吗?如果您的组件是POJO,则不必混淆MuleEventContext
。
getTestEventContext
助手
或者,如果您需要额外的基础设施,例如MuleClient
,那么实际上通过扩展http://www.mulesoft.org/docs/site/3.4.0/apidocs/index.html?org/mule/tck/junit4/FunctionalTestCase.html来创建功能测试用例
答案 1 :(得分:1)
使用AbstractMuleContextTestCase。这应该可以解决问题。
使测试用例扩展AbstractMuleContextTestCase。
然后在测试方法中获取MuleEventContet的对象使用getTestEventContext方法 MuleTestUtils助手calss由mule提供。
MyComponentTest extends AbstractMuleContextTestCase {
然后在测试方法中:
MuleEventContext eventContext = MuleTestUtils.getTestEventContext("", MessageExchangePattern.REQUEST_RESPONSE, muleContext);
.........
.........
MuleMessage result = (MuleMessage)componentInstance.onCall(eventContext);
希望这有帮助。
答案 2 :(得分:0)
这是我最喜欢的创建MuleEventContext以测试Callable组件的方法:
class TestClass extends org.mule.munit.runner.functional.FunctionalMunitSuite {
...
MuleEvent event = testEvent("PAYLOAD HERE");
MuleEventContext eventContext = new org.mule.DefaultMuleEventContext(event);
...
}