Перед установкой убедитесь, что у вас установлен npm
Установить проект:
- форкаем репозиторий
- клонируем и переходим в папку проекта
cd units-spring-2024
- проверяем версию ноды
node -v
. подходят 16, 18 версии, если ниже - лучше обновите. - выполняем
npm ci
Запустить проект:
npm start
Запустить тесты:
- прогон тестов
npm test
- запустить тесты в режиме отслеживания изменений
npm run test:watch
- открыть html отчет с покрытием
npm run open:coverage
- обновить снапшоты
npm run test:update-snapshots
- линтер
npm run lint
- линтер с фиксом ошибок
npm run lint --fix
Документация по тестам:
https://create-react-app.dev/docs/running-tests
jest:
https://jestjs.io/docs/ru/getting-started
https://jestjs.io/docs/ru/expect
jest моки:
https://jestjs.io/docs/ru/bypassing-module-mocks
react testing library
https://testing-library.com/docs/react-testing-library/example-intro
https://www.leighhalliday.com/introduction-react-testing-library
Условия сдачи практики:
- Написать юнит-тесты на каждую функцию в utils
- используйте test.each для одинаковых выходных значений
- Написать юнит тесты на главную страницу (pages/MainPage), подумайте как решить проблему с непостоянством текущего времени
- Написать юнит тесты на хуки в папке hooks
- Написать юнит тесты на компонент в ProductCard
- Добиться покрытия не менее 90% по всем модулям