8

Как протестировать один файл с помощью Jest?

6

Я могу тестировать несколько файлов с помощью 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 ответ(ов)

10

С 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

Примечание: Вам не нужно указывать полный путь к файлу теста. Аргумент интерпретируется как регулярное выражение. Достаточно указать любую часть полного пути, которая уникально идентифицирует файл.

0

Чтобы запустить отдельный тест, используйте следующую команду:

npm test -t ValidationUtil # `ValidationUtil` - это название вашего модуля `ValidationUtil.spec.js`

Флаг -t позволяет вам указать регулярное выражение, содержащее имя теста.

0

Использование команды npm test не означает, что Jest установлен глобально. Это просто указывает на то, что "test" связано с использованием Jest в вашем файле package.json.

Следующая команда работает на корневом уровне проекта:

npx jest [файл или директория]

файл или директория может быть тестовым файлом, который вы хотите запустить, или директорией, содержащей несколько файлов.

0

Вы можете использовать имя файла с командой npm test --:

npm test -- fileName.jsx
0

Чтобы запустить конкретный тест в определённом файле, вы можете использовать следующую команду:

yarn test -f "частичное-имя-файла" -t "как разделённый узел"

Вместо yarn test также можно использовать npm test или просто jest, в зависимости от вашего предпочтительного бандлера JavaScript.

Эта команда будет искать тесты только в тех файлах, которые содержат частичное-имя-файла, и в этих файлах должен быть хотя бы один describe или it, который упоминает "как разделённый узел". Например:

// В файле cool-partial-filename.js
describe("с менее вложенным соседом", () => {
  it("должен создать новый элемент списка с тем же уровнем вложения, что и разделённый узел", () => {
    console.log("Этот код выполнится при запуске команды выше");
  })
})

Не забудьте заменить частичное-имя-файла и как разделённый узел на актуальные для вашего случая значения.

Чтобы ответить на вопрос, пожалуйста, войдите или зарегистрируйтесь