有没有办法让我用MUnit在调用子流时结束测试并添加断言?我想把测试分成更小的部分。
发布于 2016-05-02 09:22:32
您将不得不模拟子流的结果。
为此,您必须使用MUnit中的模拟组件。
它所做的是,一旦调用了子流/流引用,您就必须定义一个预期的输出。
下面是一个简单的例子:
<mock:when messageProcessor=".*:.*" doc:name="Mock Get Email Recipient">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="#['getEmailRecipient']"/>
</mock:with-attributes>
<mock:then-return payload="hello@gmail.com" mimeType="text/plain"/>
</mock:when>这样做的目的是模拟getEmailRecipient流,在测试中调用它时返回静态值hello@gmail.com。
发布于 2016-05-01 22:44:38
我不确定它是否可以工作,但也许您可以尝试用模拟消息处理器模拟子流程的结果,如下所示
<mock:when messageProcessor="mule:sub-flow">
<mock:with-attributes>
<mock:with-attribute whereValue="<the_name_of_your_subflow>" name="doc:name"/>
</mock:with-attributes>
</mock:when>请参阅文档here
希望能有所帮助。
/T
发布于 2016-05-03 21:31:23
正如这些人所说,实现你想要的东西的方法是使用模拟。为了清楚起见,你不会停止测试,你只是定义了要执行的行为,而不是实际的代码。断言将在稍后的测试中出现。
以下是一些文档页面,我们将在此主题中为您提供帮助:
最后,即使每个MUnit消息处理器在每个文档页面的底部都有一个Java示例,也有一个关于如何编写基于Java的MUnit测试的特定页面:
https://stackoverflow.com/questions/36957926
复制相似问题