Size: a a a

2020 May 23

А

Александр in JS for testing
Либо может кто-то привести рабочий пример теста АПИ по загрузке файла + доп. поле используя supertest ? я искал, смотрел,либо пример только файл загружают либо только данные пост-запросом отравляются
источник

А

Александр in JS for testing
я понимаю, что не должно быть какой-то разницы доп.поле + файл или только файл, но по факту что-то не так
источник

BO

Boris Osipov in JS for testing
Александр
Всем Привет. Только изучаю написание тестов, поэтому возникли сложности при написании теста при загрузке файла.
Есть АПИ на експрес, тест апи делаю через supertest , код теста http://joxi.ru/J2b860ycGJ8y9r
в роуте загрузки фото есть валидация http://joxi.ru/LmG1aY4cJ8y9XA
сам роут с вызовом валидации http://joxi.ru/J2b860ycGJ8O9r
вопрос в том, что при валидации прилетает пустой пост-массив данных(req.body), если указывать в тесте что я прикрепил файл к запросу, а если отправить пост-запрос без файла , то всё ок, данные прилетают. Что я делаю не так ?
а что такое type в роуте /upload? это мидлварь из multer?
источник

А

Александр in JS for testing
да это мидлвар из multer
источник

BO

Boris Osipov in JS for testing
Александр
да это мидлвар из multer
покажи как выглядит
источник

А

Александр in JS for testing
const multer  = require("multer");
const upload = multer({dest:"uploads"});
const type = upload.single('video');
источник

BO

Boris Osipov in JS for testing
Александр
Всем Привет. Только изучаю написание тестов, поэтому возникли сложности при написании теста при загрузке файла.
Есть АПИ на експрес, тест апи делаю через supertest , код теста http://joxi.ru/J2b860ycGJ8y9r
в роуте загрузки фото есть валидация http://joxi.ru/LmG1aY4cJ8y9XA
сам роут с вызовом валидации http://joxi.ru/J2b860ycGJ8O9r
вопрос в том, что при валидации прилетает пустой пост-массив данных(req.body), если указывать в тесте что я прикрепил файл к запросу, а если отправить пост-запрос без файла , то всё ок, данные прилетают. Что я делаю не так ?
>Есть АПИ на експрес

а это рабочее апи вообще? я не очень понимаю ситуацию всю.
выглядит так что ты супертестом отправляешь запрос с multipart/form-data. При этом мидлварь, которая может распрасить этот form-data стоит после валидации.
как еспрес должен из multipart/form-data получить какое-то вменяемое req.body в мидлвари валидации? его стандартный body-parser вроде не умеет в такое.
источник

А

Александр in JS for testing
да апи рабочее http://joxi.ru/zANgdK4f67BWnr
источник

А

Александр in JS for testing
суть  - валидация перед мидлваром перед загрузкой файла
источник

А

Александр in JS for testing
через постмэн срабатывает валидация
источник

А

Александр in JS for testing
через супер-тест не срабатывает, не понимаю
источник

BO

Boris Osipov in JS for testing
Александр
через супер-тест не срабатывает, не понимаю
вытащи из супертест какой запрос он отправляет - хидеры\контент. сравни с тем что отправляет постман
источник

BO

Boris Osipov in JS for testing
лучше это сделать даже на стороне логов экспресса. наверняка там уже есть мидлварь для логов. надо только подкрутить.
источник
2020 May 25

R

Roman in JS for testing
После окончания теста, командная строка должна возвращатся? А то у меня тест прошел, и не выходит
источник

AP

Alexander Popov in JS for testing
Что не выходит?
источник

R

Roman in JS for testing
источник

R

Roman in JS for testing
Alexander Popov
Что не выходит?
Строчка не вертается, а висит
источник

R

Roman in JS for testing
Или так должно быть? Я запускаю команду
jest --detectOpenHandles filename
источник

R

Roman in JS for testing
Если я уберу этот флаг то мне пишет что открыто где-то соединение. Если добавлю чтобы посмотреть, то ничего не выводит, а просто висит
источник

IM

Ilya Murashka in JS for testing
О у меня так же протрактор делает, хотя в соседнем проекте у него все хорошо
источник