骡子Munit模拟http.uri.params

时间:2016-09-08 21:54:30

标签: mocking mule url-parameters munit

我有一个流程,其中使用http我有一个GET调用,它点击像

https://localhost:8081/ref/{ID}

我知道我可以使用mel之类的代码在代码中获取此参数:

#[message.inboundProperties.'http.uri.params'.ID]

当我设定信息但我没有成功时,我需要嘲笑uri params。我试过设置"设置消息"使用此名称

'http.uri.params'.ID

但是当我运行测试时似乎出错了。

这是在mule服务器3.7.3上使用munit流程

2 个答案:

答案 0 :(得分:1)

请记住,http.uri.params入站属性实际上包含Map,而http.uri.params又包含表示实际参数的条目。

您需要设置一个名为[key1 : value1, key2 : value2, . . .]的模拟入站属性,其值为一个Map,其中包含一个带有键“ID”的条目和您想要的值。请记住,在MEL中,您可以create a map使用<mock:inbound-properties> <mock:inbound-property key="http.uri.params" value="#[['ID': '123']]"/> </mock:inbound-properties>

像这样:

pseudo element

答案 1 :(得分:0)

@ ksmo92您可以尝试以下代码。它对我有用。

<munit:set payload="#['']" doc:name="Set http.uri.params">
        <munit:inbound-properties>
            <munit:inbound-property key="http.uri.params" value="#[['name': 'Anu']]"/>
        </munit:inbound-properties>
 </munit:set>