Как настроить тестовое окружение для React-приложений с Vite

  Рет қаралды 3,722

Михаил Непомнящий

Михаил Непомнящий

3 ай бұрын

Разбираемся с настройкой React Testing Library при использовании сборщика Vite. Готовим тестовое окружение и настраиваем назойливый линтер.
Код из видео github.com/michey85/test-vite...
Мои курсы по вебу с купонами:
✅ mishanep.com/
📢 Поддержка канала:
/ mishanep
www.tinkoff.ru/rm/nepomnyasch...
paypal.me/mishanep

Пікірлер: 38
@velikorossnationalist4259
@velikorossnationalist4259 3 ай бұрын
Это видео - то чего мне не хватало, не мог нигде найти дельного обьяснения. Спасибо!
@SGWebDeveloper
@SGWebDeveloper 3 ай бұрын
Хорошая новость про курс , как раз то что я искал ) спасибо за ваш труд Михаил и дальнейших успехов!
@TarasovFrontDev
@TarasovFrontDev 3 ай бұрын
Видео супер! Больше всего мне понравился момент, когда прошло десять минут видео, сделана куча настроек и после всего этого фраза "И ничего не работает" - просто космос)
@user-kn7ky1ih2h
@user-kn7ky1ih2h 3 ай бұрын
Добрый день. Хотелось бы увидеть видео о том, какие компоненты нужно тестировать, как понять что эти тесты не просто "тесты ради тестов", допустим тест чекбокса на checked, нужны ли такие тесты? Возможно знаете какие-нибудь доклады на эту тему, где показывают в каких случаях обязательно нужно покрывать тестами, а в каких не стоит?
@from_brest2631
@from_brest2631 3 ай бұрын
Так почитайте блог КентСиДодса, автора ТестингЛайбрери. Все описано от А до Я
@sivtsev
@sivtsev 3 ай бұрын
Зашкаливающий уровень эпической крутости!!!
@user-kb5kd7ln3h
@user-kb5kd7ln3h 2 ай бұрын
Спасибо большое
@BazliMax
@BazliMax 3 ай бұрын
Хотелось бы видео по этой теме ( тестирования ). Например протестировать какой-то реальный компонент с логикой через Jest и хотелось бы с TS
@arefev
@arefev 3 ай бұрын
У vitest вроде используются те же функции что и у jest, использую vitest на проектах с vite
@andrewsam224
@andrewsam224 3 ай бұрын
Добрый день! Заранее извиняюсь, что не по теме: для Адаптива и Стилизации в React, какие подходы и инструменты лучше использовать? Заранее огромное спасибо.
@ZhenyaGoroh
@ZhenyaGoroh 3 ай бұрын
Спасибо за урок! А чего решили jest использовать а не vitest?
@mishanep
@mishanep 3 ай бұрын
Jest - это стандарт на рынке.
@true227
@true227 3 ай бұрын
Так витест во многом схож с джестом
@carry-on-chaos4032
@carry-on-chaos4032 3 ай бұрын
vitest же взаимно совместим с jest
@ZhenyaGoroh
@ZhenyaGoroh 3 ай бұрын
@@carry-on-chaos4032 Да, я знаю, но почему тогда jest а не vitest
@velikorossnationalist4259
@velikorossnationalist4259 3 ай бұрын
А если в проекте typescript - нужна ли какая-та дополнительная настройка с тестированием описанным в видео?
@mishanep
@mishanep 3 ай бұрын
Конечно, понадобится пару настроек для ts
@user-hk3ht7cu9j
@user-hk3ht7cu9j 2 ай бұрын
@@mishanep можешь подсказать какие?
@rubyhat
@rubyhat 2 ай бұрын
Привет! Спасибо за классный гайд! Столкнулся с такой проблемой - когда мы используем переменные окружения, например: const API_BASE_PATH = import.meta.env.VITE_API_BASE_PATH; то при запуске тестов Jest жалуется, что не знает что такое import.meta.env . Как можно решить эту проблему? Перепробовал несколько способов, пока ничего не помогло :(
@rubyhat
@rubyhat 2 ай бұрын
Как удалось решить эту проблему: 1. создал отдельный файл envs.ts, куда импортирую переменные окружения при помощи import.meta.env и экспортирую все эти переменные как объект 2. везде где ранее использовались переменные окружения напрямую, теперь нужно использовать из файла envs.ts 3. создать мок объект при помощи jest.mock("./envs.ts, () => ... code ) и записать значения для всех переменных во время тестирования 4. важно, чтобы мок создавался до того, когда будет вызов теста компонента, где используется переменные окружения таким образом у нас получается одна точка входа для всех используемых переменных окружения - envs.ts, мы создаем мок для них перед вызовом всех остальных тестов и теперь они отрабатывают корректно. Надеюсь кому-то будет полезно, если у вас получилось решить проблему иным способом, то тоже делитесь своим решением!)
@proletarian
@proletarian 3 ай бұрын
Миша расскажите в каком то видео о shadcn ui, пусть больше людей о нем узнает, я просто влюбился в этот ui
@NeoCoding
@NeoCoding 3 ай бұрын
а во что там влюбляться? куча вложенных компонентов только чтобы стилизовать простейшие вещи, а еще если надо добавить обертки для логики то вообще будет дно. Не спорю, тупо набросать побыстрому интерфейс вполне
@proletarian
@proletarian 3 ай бұрын
@@NeoCoding а с нуля постоянно лучше писать этот грёбаный цсс? Разве что уже есть готовый дизайн
@NeoCoding
@NeoCoding 3 ай бұрын
@@proletarian тут понимаешь как, если надо по макету сверстать кот. не под либу писался, то надо б такую либу которая очень приятно кастомизируется и не имеет кучу сахара лишнего. и в этом смысле идеальная либа это такая которая содержит ядро (код который можно скопировать и вставить) и возможность прозрачно переопределить что-то чистым цсс.
@proletarian
@proletarian 3 ай бұрын
@@NeoCoding ну это да, я просто не верстаю какой то дизайн специальный
@CJIu3eHb
@CJIu3eHb 3 ай бұрын
Это просто ппц. Вместо того, чтобы думать о бизнес-логике и архитектуре, люди должны ковыряться в этой куче настроек, которые завтра же изменятся, и хорошо, если все это вместе взлетит.
@mody-pq8kd
@mody-pq8kd 3 ай бұрын
А чем вам vitest не угодил? Там вроде бы как все с коробки работает плюс минус
@mishanep
@mishanep 3 ай бұрын
Вопрос стандарта по рынку. А стандарт это jest.
@baileysli6235
@baileysli6235 3 ай бұрын
А зачем ты юзаешь Jest если Vitest то же самое, только лучше. Если проект был бы на Next.js я бы ппонял
@mishanep
@mishanep 3 ай бұрын
Стандарт есть стандарт. Я пока не встречал проектов, где бы использовался vitest.
@IvanZakharanka
@IvanZakharanka 3 ай бұрын
@@mishanep У нас сейчас прод проект на vitest, но странностей с ним хватает)
@limpchh
@limpchh Ай бұрын
А как подружить jest с svgr vite? Появляются проблемы у джеста при импорте svg файла как компонента с ?react в конце.
@mishanep
@mishanep Ай бұрын
В доке svgr должна быть инструкция. Насколько помню, суть сводилась к созданию мок файла, где вместо иконок возвращалась просто строка для jest.
@limpchh
@limpchh Ай бұрын
@@mishanep да, но на импорт с препиской *.svg?react в конце, все равно ругается
@mishanep
@mishanep Ай бұрын
А матчер в jest конфиге настроен на *.svg?react ?
@limpchh
@limpchh Ай бұрын
@@mishanep настроил! Не понимал почему не работает из-за того, что неправильно стояло в матчерах в очереди. Матчер с .svg?react нужно было перед всеми другими матчерами для svg. Затупил и не подумал что очередь важна. Спасибо за помощь!
@sol-ares
@sol-ares 3 ай бұрын
настройка выглядит костыльно, уж лучше потратить время на vitest
@NeoCoding
@NeoCoding 3 ай бұрын
Михаил, так надо просто запилить сборку уже с зависимостями и запушить им на сайт. нахр эти танцы каждый раз
Новые хуки useTransition и useDeferredValue в React 18
22:17
Михаил Непомнящий
Рет қаралды 21 М.
Самый простой способ начать работу с БД
22:37
Михаил Непомнящий
Рет қаралды 6 М.
DELETE TOXICITY = 5 LEGENDARY STARR DROPS!
02:20
Brawl Stars
Рет қаралды 17 МЛН
Китайка и Пчелка 4 серия😂😆
00:19
KITAYKA
Рет қаралды 3,7 МЛН
La revancha 😱
00:55
Juan De Dios Pantoja 2
Рет қаралды 60 МЛН
Deploy Vite React App to GitHub Pages (2024)
3:07
Vladyslav Dihtiarenko
Рет қаралды 4,6 М.
Docker за 20 минут
21:42
suchkov tech
Рет қаралды 61 М.
Тестирование React приложения
1:03:02
Михаил Непомнящий
Рет қаралды 61 М.
Зачем нужны тестовые окружения? В чем разница между Stage и Pre-prod
19:39
QA Studio | Шаг за шагом к Junior QA
Рет қаралды 2,5 М.
Телефон в воде 🤯
0:28
FATA MORGANA
Рет қаралды 383 М.
Iphone or nokia
0:15
rishton vines😇
Рет қаралды 1,8 МЛН
TOP-18 ФИШЕК iOS 18
17:09
Wylsacom
Рет қаралды 792 М.