我有一个使用一些云连接器的Mule应用程序 - 主要是Twitter和Facebook。在测试我的应用时,我实际上并不想发布到我的Twitter或Facebook。功能/集成测试的最佳方法是什么?我应该在这些站点设置虚拟用户帐户以用于测试吗?或者我应该使用模拟框架来模拟twitter4j响应等?我怎么能处理它的OAuth方面呢?
答案 0 :(得分:1)
看看munit,一个MuleSoft目前正在构建的测试框架,它允许模拟云连接器。
以下是an example where they mock the Mongo cloud connector的摘录:
<munit:test name="afterFtpPollingSaveUser" description="Mongo must be called correctly">
<mock:when messageProcessor="mongo:add-user" />
<mock:spy messageProcessor="mongo:add-user">
<mock:assertions-before-call>
<munit:assert-not-null/>
</mock:assertions-before-call>
<mock:assertions-after-call>
<munit:assert-not-null/>
</mock:assertions-after-call>
</mock:spy>
<munit:set payload-ref="#[getResource('users.xml').asStream()]" />
<flow-ref name="mongo-storage" />
<mock:verify-call messageProcessor="mongo:add-user" times="2"/>
</munit:test>