Modular starter kit for React+Redux+React Router projects.
npm run dev
for development environment in watch modenpm run prod
for production environment in watch modenpm run build:dev
for development environment without watch modenpm run build:prod
for production environment without watch modenpm run analyze:dev
for development environmentnpm run analyze:prod
for production environmentnpm run server:dev
for development environment in watch modenpm run server:prod
for production environment without watch modenpm run yeoman
Тесты используют фреймворк Jest
npm test
или npm t
- разовый прогон тестовnpm run test:watch
- запуск тестов в watch-режимеnpm run test:debug
- запуск с возможностью подключения для отладки
(
Chrome /
VSCode /
Webstorm
).npm run test:coverage
- запуск с генерацией карты покрытия кода. Результаты можно открыть в браузере <projectDir>/coverage/lcov-report/index.html
.import React from 'react';
import { shallow } from 'enzyme';
import GenericDateInput from './../GenericDateInput';
it('renders correctly', () => {
const component = shallow(<GenericDateInput />)
expect(component.debug()).toMatchSnapshot();
});
После первого запуска теста создается эталонный снепшот, который будет помещен в папку __snapshots__
рядом с файлом
теста. Его нужно проверить на корректность. После изменений в верстке компонента в терминале будут отображены изменения
произошедшие в компоненте, и если эти изменения ожидаемы, то нужно зафиксировать новые снепшоты, для этого достаточно
в терминале нажать клавишу "u"
(при условии что тесты запущены в watch-режиме). ВНИМАНИЕ!!! Будут перезаписаны все снепшоты, не совпадающие с эталонными!
Чтобы обновить снепшот для конкретного теста можно воспользоваться it.only(name, fn, timeout) или describe.only(name, fn), если мы хотим обновить снепшоты для группы тестов.
При возникновении ошибок при тестировании в watch моде:
Для MacOS (Error: watch EMFILE
): Удалить watchman, глобально установленный через npm или yarn, если таковой был, и установить повторно через brew.
Для Linux (Error ENOSPC
): воспользоваться данной командой:
echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p