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