Как протестировать один файл с помощью Jest?
Я могу тестировать несколько файлов с помощью Jest, но не могу понять, как протестировать один файл.
У меня есть:
- Установлен
jest-cli
с помощью командыnpm install jest-cli --save-dev
- Обновлён
package.json
:{ ... "scripts": { "test": "jest" } ... }
- Написано несколько тестов.
Запуск команды npm test
работает как ожидалось (в данный момент выполняется 14 тестов).
Как мне протестировать один единственный файл, например, app/foo/__tests__/bar.spec.js
?
Я пытался запустить команду npm test app/foo/__tests__/bar.spec.js
(из корня проекта), но получаю следующую ошибку:
npm ERR! Error: ENOENT, open '/node_modules/app/foo/<strong>tests</strong>/bar.spec.js/package.json'
Как я могу решить эту проблему и протестировать отдельный файл?
5 ответ(ов)
С 2019 года:
Для запуска конкретного теста можно использовать следующую команду:
npm test -- bar.spec.js
В 2015 году:
Чтобы запустить конкретный тест, вам нужно использовать команду jest
. Команда npm test
не подойдёт. Для прямого доступа к jest
через командную строку, установите его с помощью npm i -g jest-cli
или yarn global add jest-cli
.
Затем просто выполните тест с помощью команды:
jest bar.spec.js
Примечание: Вам не нужно указывать полный путь к файлу теста. Аргумент интерпретируется как регулярное выражение. Достаточно указать любую часть полного пути, которая уникально идентифицирует файл.
Чтобы запустить отдельный тест, используйте следующую команду:
npm test -t ValidationUtil # `ValidationUtil` - это название вашего модуля `ValidationUtil.spec.js`
Флаг -t
позволяет вам указать регулярное выражение, содержащее имя теста.
Использование команды npm test
не означает, что Jest установлен глобально. Это просто указывает на то, что "test" связано с использованием Jest в вашем файле package.json
.
Следующая команда работает на корневом уровне проекта:
npx jest [файл или директория]
файл или директория
может быть тестовым файлом, который вы хотите запустить, или директорией, содержащей несколько файлов.
Вы можете использовать имя файла с командой npm test --
:
npm test -- fileName.jsx
Чтобы запустить конкретный тест в определённом файле, вы можете использовать следующую команду:
yarn test -f "частичное-имя-файла" -t "как разделённый узел"
Вместо yarn test
также можно использовать npm test
или просто jest
, в зависимости от вашего предпочтительного бандлера JavaScript.
Эта команда будет искать тесты только в тех файлах, которые содержат частичное-имя-файла
, и в этих файлах должен быть хотя бы один describe
или it
, который упоминает "как разделённый узел". Например:
// В файле cool-partial-filename.js
describe("с менее вложенным соседом", () => {
it("должен создать новый элемент списка с тем же уровнем вложения, что и разделённый узел", () => {
console.log("Этот код выполнится при запуске команды выше");
})
})
Не забудьте заменить частичное-имя-файла
и как разделённый узел
на актуальные для вашего случая значения.
Как удалить модули npm в Node.js?
Как предотвратить установку "devDependencies" модулей NPM для Node.js (package.json)?
Ошибка "npm WARN package.json: Нет поля repository"
Как исправить ошибку "ReferenceError: primordials is not defined" в Node.js
nvm постоянно "забывает" Node.js в новой сессии терминала