установить карту параметров в munit

Мне сложно установить ParameterMap в munit. когда я устанавливаю http.uri.params в munit, и он нормально работает. но не может получить доступ к его значениям через ParameterMap. пожалуйста, обратитесь к следующему коду MUnit (который отлично работает, когда я обращаюсь к #[message.inboundProperties.'http.uri.params'.serviceName]) и коду Java

<munit:inbound-property key="http.uri.params" value="#[['serviceName': 'services','loanNumber':'1111']]"/>

вот как я получаю доступ к http.uri.params в моем коде

ParameterMap pMap = eventContext.getMessage().getInboundProperty("http.uri.params");

поэтому, когда я запускаю munit, над строкой выдается исключение (java.util.HashMap нельзя привести к org.mule.module.http.internal.ParameterMap)

Есть ли способ установить карту параметров в munit без изменения моего кода?


person Karthick Ricky    schedule 27.11.2018    source источник


Ответы (1)


Если вы действительно не можете изменить свой код, чтобы он не зависел от ParameterMap. Затем вы можете попробовать создать экземпляр ParameterMap в своем коде Munit. У него есть перегруженный конструктор, который позволяет передать ему карту:

<munit:inbound-property key="http.uri.params" value="#[new org.mule.module.http.internal.ParameterMap((['serviceName': 'services','loanNumber':'1111']))]"/>

Документ Java: https://www.mulesoft.org/docs/site/3.7.0/apidocs/org/mule/module/http/internal/ParameterMap.html

person Ryan Carter    schedule 27.11.2018
comment
спасибо, братан, но когда я пытаюсь это сделать, он выдает Execution of the expression message.inboundProperties.'http.uri.params'.serviceName failed. есть ли другой способ сделать это? - person Karthick Ricky; 27.11.2018
comment
Я думал, что это может случиться. Лучший способ — провести рефакторинг вашего класса, чтобы не полагаться на внутренности мула. - person Ryan Carter; 28.11.2018
comment
@ Райан Картер. я нашел решение этой проблемы. в любом случае спасибо за помощь. сейчас я столкнулся с новой проблемой. это [org.mule.munit.remote.CoverageManager]Ошибка расчета отчета о покрытии. ты знаешь как решить эту проблему? - person Karthick Ricky; 28.11.2018