У меня возникла проблема с тестированием моего приложения-узла с использованием Nock. Я записываю все запросы через nock.recorder.rec
, но среди них есть множественный запрос. Я использую form-data. Этот модуль поставил границу , чтобы запросить тело, когда я пользуюсь функцией form.append
. Проблема в том, что граница всегда различна, и когда я запускаю тесты с записанными данными, Nock не может найти совпадение для запроса (потому что боевое тело в запросе не было тем, что было при записи). Что может быть сделано? Извините за мой плохой английский.Данные Nock + multipart form = Нет соответствия для запроса
2
A
ответ
1
Я столкнулся с подобной проблемой. Что вы можете сделать, так это использовать второй аргумент как функцию и сопоставить объект, который вы пытаетесь отправить в виде данных формы. Пример:
nock('localhost')
.post('/url', function(body) {
return JSON.stringify(body) === JSON.stringify(params);
})
.reply(200, 'some data');
Более подробно о том, что в документации здесь: https://github.com/pgte/nock#specifying-request-body
я могу сделать грязный хак: перед вызовом 'form.append' метод записи' form._boundary = 'myboundary''. В этом случае граница всегда статична и тесты пройдут. Но статическая граница может быть плохим решением. Может быть, вручную создать границу по определенному алгоритму? –