在我的一个测试案例中,我试图使用“设置消息”来设置uri parmas。 键值对如下例所示:
产品代码:(' 11',' 10')
当我尝试在组件中设置它时,我面临与MEL表达式的问题。 用单一的表达似乎不接受。
错误: org.mule.api.MessagingException:MEL解析失败。表达式:#[[' productcode' :'((' 11',' 10'))']]是无效的表达式。 (org.mule.munit.common.exception.MunitError)。
以下是我的Munit测试用例。
<munit:test name="gl-impl-test-suite-gl-getTransactionDataFromAgresso-Test" description="Test">
<mock:when messageProcessor=".*:.*" doc:name="mockGetReconciliationDataFromAgresso">
<mock:with-attributes>
<mock:with-attribute name="doc:name" whereValue="#['getReconciliationDataFromAgresso']"/>
</mock:with-attributes>
<mock:then-return payload="#[getResource('scaffolder/response/emp/getEmployeeDetails.xml').asString()]" mimeType="application/xml"/>
</mock:when>
<munit:set payload="#[]" doc:name="Set Message">
<munit:inbound-properties>
<munit:inbound-property key="http.query.parmas" value="#[['productcode' :'( ('11','10'))']]"/>
</munit:inbound-properties>
</munit:set>
<logger level="INFO" doc:name="Logger"/>
<flow-ref name="gl-getTransactionDataFromAgresso" doc:name="Flow-ref to gl-getTransactionDataFromAgresso"/>
</munit:test>
&#13;
请让我知道如何设置包含单个“的”MEL表达式。
答案 0 :(得分:0)
user3366906的答案将正确解决单引号的问题,或者您可以转义单引号。我通常更喜欢使用混合引号,但很少你需要在字符串中使用单引号和双引号,其中转义是有用的。
value="#[['productcode' :'((\'11\',\'10\'))']]"