Тёмный

Пишем тесты Node js на Jest и TypeScript - unit, e2e 

PurpleSchool | Anton Larichev
Подписаться 41 тыс.
Просмотров 5 тыс.
50% 1

Сегодня я покажу как писать тесты Node.js на Jest и TypeScript, почему это важно и как это улучшает ваш код.
🔗 Ссылки:
🎓 Мой курс по Node.js: purpleschool.ru/course/nodejs
💻 Интенсив по проектам: purpleschool.ru/projects
💬 Telegram канал с полезными советами:
t.me/purple_code_channel
Разделы видео:
0:00 - Введение
0:13 - Приложение для тестов
1:56 - Сложности тестов
3:18 - Установка и настройка Jest
5:41 - Выделение слоёв
7:48 - Unit тесты
9:33 - Класс приложения
16:13 - E2e тесты
18:33 - Mock зависимостей (jest.spyOn)
21:20 - Заключение

Опубликовано:

 

31 май 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 44   
@FedorRasputin
@FedorRasputin 4 месяца назад
Было бы интересно увидеть аналогичное видео, но с разбором тестирования frontend части
@PurpleSchool
@PurpleSchool 4 месяца назад
Хорошо)
@ildarbagamanshin8170
@ildarbagamanshin8170 4 месяца назад
Спасибо огромнейшее! Видео как раз очень кстати!!💚 Недавно начал разбираться в тематике написания тестов на Jest.
@PurpleSchool
@PurpleSchool 4 месяца назад
Супер)
@Vandomas
@Vandomas 4 месяца назад
Видел новую орм drizzle? Что скажешь насчёт неё?
@-dubok-
@-dubok- 2 месяца назад
Считаю, что тесты - это не просто что-то улучшающее надёжность приложения, а нечто, что его формирует. Хотя тесты - это ещё не самое главное. Самое главное в любом приложении - это ИДЕЯ, это ТРЕБОВАНИЯ, которые должны быть описаны до того, как будет приложение создаваться. На основе этой идеи и требований формируется набор тестов, потому что тест - это проверка приложения на соответствие требованиям. Если приложение тесты проходит, значит оно делает именно то, что от него и хотелось изначально. И вот уже после написания тестов должен идти процесс написания приложения - в самом конце, потому что реализация - это не самое главное. Если есть идея, если есть тесты, то реализовать приложение можно практически на любом языке программирования и любой платформе. А вот если написал его с привязкой к платформе, да ещё и документацию не сделал, то переписать его заново или на другую платформу будет очень сложно. А тесты в данном случае - это некий посредник между идеей и реализацией.
@gangnusvi
@gangnusvi 3 месяца назад
Было бы интересно послушать подробнее про тесты в том контексте, какие тесты нужны и под какие кейсы, где нужно мокать а где нет, потому как если мы все мокаем - то работу чего мы проверяем?
@REDH3ADd
@REDH3ADd 3 месяца назад
Доброго времени суток, что за расширение, которое подсказывает код?
@PurpleSchool
@PurpleSchool 3 месяца назад
Codeium
@user-kn7ky1ih2h
@user-kn7ky1ih2h 4 месяца назад
Планируется ли курс по тестированию?
@PurpleSchool
@PurpleSchool 4 месяца назад
Написание тестов разбирается в курсах Node и Nest
@dlazder3937
@dlazder3937 4 месяца назад
супер, а когда ролик про pnpm?
@PurpleSchool
@PurpleSchool 4 месяца назад
Пока не планировал
@phabelcev
@phabelcev 4 месяца назад
Добрый вечерок, какую тему вы используете в нвим?
@PurpleSchool
@PurpleSchool 4 месяца назад
Это Onedark
@phabelcev
@phabelcev 4 месяца назад
@@PurpleSchool стоп, но ведь она вообще другая, есть ли дотфайлы с такой вандарк?
@phabelcev
@phabelcev 4 месяца назад
Выглядит как смесь грувбокса и вандарк, очень хотелось бы с такой поработать)
@user-ed8eb6cx7o
@user-ed8eb6cx7o 4 месяца назад
А можно ведь подключение к БД делать через beforeEach?
@PurpleSchool
@PurpleSchool 4 месяца назад
Да, верно
@bigproduction3999
@bigproduction3999 4 месяца назад
можно было б еще про jest.mock. который мегаимба . и последний пример иногда можно только так ( а иногда просто удобнее )
@smyrnovd
@smyrnovd 4 месяца назад
Привет. Какая у тебя цветовая схема кода?
@PurpleSchool
@PurpleSchool 4 месяца назад
Это вроде вариация от Onedark
@awenn2015
@awenn2015 2 месяца назад
Что такое эти ваши тесты и для чего они нужны?))
@PurpleSchool
@PurpleSchool 2 месяца назад
Для того, чтобы внося новые фичи быть уверенными, что старые не сломались)
@hotveyn9467
@hotveyn9467 4 месяца назад
А зачем вообще что то тестирование если мы мокаем главные депенденси? Обычно всё ломаютса когда мы с базой данных что то не так делаем, неправильные данные подобрали и тд, получается какой вообще смысл от теста если бд мокнутая
@PurpleSchool
@PurpleSchool 4 месяца назад
Можно тестировать и на базе данных, но тогда надо начинать сначала, а затем уже удалять
@Vandomas
@Vandomas 4 месяца назад
Ещё интересно, вы действительно в своих проектах так и пишите, оборачиваете всё в классы?
@PurpleSchool
@PurpleSchool 4 месяца назад
На Nest.js без классов никак
@NeoCoding
@NeoCoding 4 месяца назад
@@PurpleSchool а что там нет этой функциональной парадигмы?
@PurpleSchool
@PurpleSchool 4 месяца назад
@@NeoCoding в нет только классы, но это не является проблемой. ООП отлично подходит
@ntldrzic
@ntldrzic 4 месяца назад
Запуск и стоп приложения по моему лучше через beforeAll, afterAll
@PurpleSchool
@PurpleSchool 4 месяца назад
Да, совершенно верно
@lyovghukasyan2588
@lyovghukasyan2588 3 месяца назад
ts-jest жрет память , и с большим количестов тестов нельзя с ним работать
@voffka33
@voffka33 4 месяца назад
Рефакторить приложение до того, как оно покрыто тестами - сомнительный подход. Когда весь код влезает в один экран - проблем нет. А если досталось большое приложение, то тестами нужно как раз покрывать то, что есть - для того, чтобы надежно рефакторить
@PurpleSchool
@PurpleSchool 4 месяца назад
Да, но когда вы пишете код, сразу пытайтесь покрыть тестами. Тогда заранее сможете правильно проектировать
@user-me6vb7gw9c
@user-me6vb7gw9c 4 месяца назад
да лучше бы на инструментах новой ноды было показано, на жесте то информации и видео пруд пруди
@PurpleSchool
@PurpleSchool 4 месяца назад
Они пока слабые для полноценного теста
@krylovDev
@krylovDev 3 месяца назад
Не мокать функции в тестах? Дурной тон...
@sobchenyuk
@sobchenyuk 4 месяца назад
Добрый день, в заставке матюк? Б****!
@PurpleSchool
@PurpleSchool 4 месяца назад
Нет, что вы - БУЛКИ)
@RakzinRoman
@RakzinRoman 4 месяца назад
@@PurpleSchool - это самый главный вопрос, который интересует всех больше чем написание тестов :)))))😆
@Serega5j
@Serega5j 4 месяца назад
А зачем на бекенде ахios если это не парсинг? Для работы с локальной БД не нужен axios. Считай урок бесполезен.
@PurpleSchool
@PurpleSchool 4 месяца назад
В смысле? Это тестовый запрос на наш API, который попадает в контроллер. Можно выбрать любой другой http клиент. Нам же надо вызвать метод
Далее
React 19 - React Compiler, Actions, use hook, activity
46:45
Testing Node Server with Jest and Supertest
11:45
Просмотров 109 тыс.
C++ Разработчик учит Python
28:01
Просмотров 478 тыс.
Next.js with React Testing Library, Jest, TypeScript
25:04