Доброй ночи!
Подскажите, на чем лучше всего писать тесты на проектах Node.js? На клиенте мы используем react и проекты тестируем при помощи Jest, который прекрасно со всем справляется.
Попробовал подключить его же к проекту на ноде и увидел предупреждение от разработчиков, что Jest разрабатывался как фреймворк для тестирования фронтенда и что вы можете использовать его для тестирования Node на свой страх и риск.
Тестировать планирую работу сервисов и их работу с базами - mongo & mysql
Погуглил какой есть инструментарий помимо - mocha (+chai), AVA?
Что вообще актуально и стоит использовать? Или можно использовать тот же Jest, просто нужно его правильно сконфигурировать?
тут больше вопрос про какие сервисы идет речь и что в них надо тестировать?
если это функции - то скорее идет речь о юнит тестах
если это graphql - то скорее идет речь о снапшотах и куда их писать/читать и т.д
это так... информация, которая тебе пригодится для уточняющего запроса в гугле ;)
Да, это обычные юнит тесты. Хочу покрыть АПИ, чтобы быть уверенным что ничего не сломается в самый неподходящий момент.
Проект быстро растёт, и сейчас то что оно все работает держится на том что два разработчика знают проект от а до я.
Сейчас будем подключать в команду новых — которые этого всего не знают. По этому нужны тесты)
JEST вполне можно юзать, вот напишите вы функцию валидации данных, которая возвращает либо true, либо false, и захотите её проверить: неужели true и false на front-end отличаются от true и false на back-end? :) — конечно нет!
Я это прекрасно понимаю.
Немного отпугнуло то, что почти нету информации про тестирование ноды именно в связке с Jest.
Все используют или chai/mocha или другие аналоги. А мне прямо больно их синтаксис использовать после удобного jest.
Использую в реальном проекте, ни с какими ограничениями не сталкивался, всё работает как надо.
Более того, лично я не припомню предупреждения, что джест на ноде использовать на свой страх и риск (мог не обратить внимания), тем более что на официальном сайте указана поддержка ноды.
Да и в принципе я не очень понимаю что такого специфического должно идти для ноды?
Для меня самое специфичное что для тестирования апи нужно работать с имитацией запроса.
Подготовили данные, записали в базу, вызвали метод, получили результат.
Все вот эти supertest, для меня в новинку.
Предупреждение, если не забуду завтра на работе заскриню и вышлю сюда.
Sergey Filnor, джест нативно без проблем мокает как локальные файлы, так и нод модули. Да и нативные функции тоже без проблем мокает. Причём никто не мешает мокать частично.
К тому же мокать можно по разному.
Так что с этим проблем вообще не вижу.