Как протестировать один файл с помощью 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 "подключить" функции из других файлов?
Как задать переменные окружения из файла package.json?
Самый быстрый способ скопировать файл в Node.js
Как остановить Babel от трансформации 'this' в 'undefined' и добавления "use strict"