Повна команда для запуску одного тесту Jest
Команда:
node <path-to-jest> -i <you-test-file> -c <jest-config> -t "<test-block-name>"
<path-to-jest>
:
- Windows:
node_modules\jest\bin\jest.js
- Інші:
node_modules/.bin/jest
-i <you-test-file>
: шлях до файлу з тестами ( js
або ts
)
-c <jest-config>
: шлях до окремого конфігураційного файлу Jest (JSON), якщо ви зберігаєте конфігурацію Jest, package.json
вам не потрібно вказувати цей параметр (Jest знайде його без вашої допомоги)
-t <the-name-of-test-block>
: На насправді це ім'я (перший параметр) з describe(...)
, it(...)
або test(...)
блоку.
Приклад:
describe("math tests", () => {
it("1 + 1 = 2", () => {
expect(1 + 1).toBe(2);
});
it("-1 * -1 !== -1", () => {
expect(-1 * -1).not.toBe(-1);
});
});
Отже, команда
node node_modules/jest/bin/jest.js -i test/math-tests.js -c test/tests-config.json -t "1 + 1 = 2"
буде тестувати it("1 + 1 = 2", ...)
, але якщо ви зміните -t
параметр, "math tests"
то він запустить обидва тести з describe("math tests",...)
блоку.
Зауваження:
- Для Windows замініть
node_modules/.bin/jest
на node_modules\jest\bin\jest.js
.
- Такий підхід дозволяє налагоджувати запущений сценарій. Щоб увімкнути налагодження, додайте
'--inspect-brk'
до команди параметр.
Запуск єдиного тесту Jest за допомогою скриптів NPM в 'package.json'
Встановивши Jest, ви можете спростити синтаксис цієї команди (вище), використовуючи сценарії NPM . У "package.json"
додаванні нового сценарію в "scripts"
розділі:
"scripts": {
"test:math": "jest -i test/my-tests.js -t \"math tests\"",
}
У цьому випадку ми використовуємо псевдонім 'jest'
замість того, щоб писати повний шлях до нього. Крім того, ми не визначаємо шлях конфігураційного файлу, оскільки ми можемо розмістити його "package.json"
також, і Jest загляне в нього за замовчуванням. Тепер ви можете запустити команду:
npm run test:math
і "math tests"
блок з двома тестами буде виконаний. Або, звичайно, ви можете вказати один конкретний тест за його назвою.
Іншим варіантом буде витягнути <the-name-of-test-block>
параметр поза "test:math"
скриптом і передати його з команди NPM:
package.json:
"scripts": {
"test:math": "jest -i test/my-tests.js -t",
}
Команда:
npm run test:math "math tests"
Тепер ви можете керувати назвою тестів для запуску за допомогою значно коротшої команди.
Зауваження:
'jest'
Команда буде працювати зі сценаріями НПМ , тому що
npm робить "./node_modules/.bin"
перший запис PATH
змінної середовища під час запуску будь-яких сценаріїв життєвого циклу, тому це буде добре працювати, навіть якщо ваша програма не встановлена глобально ( блог NPM )
- Цей підхід, здається, не дозволяє налагоджувати, оскільки Jest запускається через його бінарний / CLI , а не через
node
.
Запуск вибраного тесту Jest у коді Visual Studio
Якщо ви використовуєте код Visual Studio, ви можете скористатися ним та запустити вибраний тест (у редакторі коду) натисканням F5
кнопки. Для цього нам знадобиться створити новий файл конфігурації запуску у ".vscode/launch.json"
файлі. У цій конфігурації ми будемо використовувати заздалегідь задані змінні, які заміщені відповідними (на жаль, не завжди ) значеннями під час запуску. З усіх доступних нас цікавлять лише такі:
${relativeFile}
- поточний відкритий файл відносно
${workspaceFolder}
${selectedText}
- поточний вибраний текст в активному файлі
Але перед тим, як виписати конфігурацію запуску, нам слід додати 'test'
скрипт у наш 'package.json'
(якщо у нас його ще немає).
package.json:
"scripts": {
"test": "jest"
}
тоді ми можемо використовувати його в нашому конфігурації запуску.
Конфігурація запуску:
{
"type": "node",
"request": "launch",
"name": "Run selected Jest test",
"runtimeExecutable": "npm",
"runtimeArgs": [
"run-script",
"test"
],
"args": [
"--",
"-i",
"${relativeFile}",
"-t",
"${selectedText}"
],
"console": "integratedTerminal",
}
він насправді робить те саме, що описані раніше команди у цій відповіді. Тепер, коли все готово, ми можемо запустити будь-який тест, який хочемо, без необхідності переписати параметри команди вручну.
Ось усе, що вам потрібно зробити:
- Виберіть поточно створений конфігурацію запуску на панелі налагодження:
- Відкрийте файл із тестами в редакторі коду та виберіть ім'я тесту, який ви хочете протестувати (без лапок):
- Натисніть
'F5'
кнопку.
І вуаля!
Тепер для запуску будь-якого тесту ви просто відкрийте його в редакторі, виберіть його ім'я та натисніть F5.
На жаль, це не буде "вуаля" на машинах Windows, оскільки вони замінюють (хто знає чому) ${relativeFile}
змінну тим, що шлях перевернув косою рисою, і Jest не зрозуміє такого шляху.
Зауваження:
- Для запуску під налагоджувачем не забудьте додати
'--inspect-brk'
параметр.
- У цьому прикладі конфігурації у нас немає параметра конфігурації Jest, припускаючи, що він включений у
'package.json'
.