首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MUnit排除子流

使用MUnit排除子流
EN

Stack Overflow用户
提问于 2016-05-01 01:22:05
回答 4查看 1.4K关注 0票数 1

有没有办法让我用MUnit在调用子流时结束测试并添加断言?我想把测试分成更小的部分。

EN

回答 4

Stack Overflow用户

发布于 2016-05-02 09:22:32

您将不得不模拟子流的结果。

为此,您必须使用MUnit中的模拟组件。

它所做的是,一旦调用了子流/流引用,您就必须定义一个预期的输出。

下面是一个简单的例子:

代码语言:javascript
复制
        <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

票数 3
EN

Stack Overflow用户

发布于 2016-05-01 22:44:38

我不确定它是否可以工作,但也许您可以尝试用模拟消息处理器模拟子流程的结果,如下所示

代码语言:javascript
复制
<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

票数 2
EN

Stack Overflow用户

发布于 2016-05-03 21:31:23

正如这些人所说,实现你想要的东西的方法是使用模拟。为了清楚起见,你不会停止测试,你只是定义了要执行的行为,而不是实际的代码。断言将在稍后的测试中出现。

以下是一些文档页面,我们将在此主题中为您提供帮助:

最后,即使每个MUnit消息处理器在每个文档页面的底部都有一个Java示例,也有一个关于如何编写基于Java的MUnit测试的特定页面:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36957926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档