Я пытаюсь создать тест MUnit, который имитирует HTTP-запрос, устанавливая полезную нагрузку на объект JSON, который я сохранил в файле. В Mule 3 я бы просто сделал getResource('fileName.json').asString()
, и это отлично сработало. Однако в Mule 4 я не могу статически вызывать getResource.
Я нашел сообщение на форуме Mulesoft, в котором предлагалось использовать MunitTools::getResourceAsString
. Когда я запускаю свой тест, я вижу объект JSON, но со всеми символами \n
и \r
, а также \
без кавычек. Очевидно, это означает, что мой JSON больше не правильно сформирован.
В идеале я хотел бы найти ссылку на MunitTools, чтобы я мог видеть список функций, которые я могу вызывать, и, возможно, найти ту, которая не добавляет escape-символы, но мне не повезло. Если кто-нибудь знает какой-либо справочный документ, на который я могу сослаться, пожалуйста, дайте мне знать.
Не имея возможности найти способ вернуть данные без дополнительных символов, я попытался заменить их через dataweave. Это нормально при замене \n
и \r
, но поскольку есть еще \
перед каждой двойной кавычкой, и я не могу избавиться от них.
Если я сделаю это ...
replace (/\/) with ("")
... я получаю сообщение об ошибке. Сотрудник предложил настроить таргетинг на каждый \"
и заменить их на "
, но это проблема, потому что это дает мне """
. Чтобы обойти это, я пробовал
replace(/\"/) with "\""
... который не вызывает никаких ошибок, но по какой-то причине он читает \
как литерал, поэтому заменяет исходную строку собой. Я также пробовал ... заменить (/ \ "/) на '"' ... но это тоже приводит к ошибке
Я открыт и для любых других решений.
Спасибо
--Рисовал