Как проверить один файл с помощью Jest?
Я могу проверить несколько файлов с помощью Jest, но я не могу понять, как проверить один файл.
Я:
- выполнить
npm install jest-cli --save-dev - Обновлено
package.json:' {... "скрипты": {"тест":" шутка"}... } - написано несколько тестов.
под управлением npm test работает, как ожидалось (в настоящее время она работает 14 тестов).
Как проверить один файл, например test app/foo/__tests__/bar.spec.js?
Я пробовал работать npm test app/foo/__tests__/bar.spec.js (от корня проекта), но я получаю следующую ошибку:
npm ERR! Error: ENOENT, open '<path to project>/node_modules/app/foo/__tests__/bar.spec.js/package.json'
спасибо
6 ответов:
если
npm testработает, это означает, что jest установлен глобально. Для того, чтобы запустить определенный тест, вам нужно будет использовать -npm testне будет работать.таким образом, вы можете запустить шутку непосредственно с
jest bar.spec.jsПримечание: вам не нужно вводить полный путь вашего теста: аргумент становится регулярным выражением, поэтому он должен быть только частью полного пути.
Примечание 2.0: Если вы использовали
npm install -g jestчтобы установить jest глобально, измените его какnpm install -g jest-cli
все, что вам нужно сделать, это изменить заклинание магии:
npm test -- SomeTestFileToRunавтономной
--is * Nix magic для обозначения конца опций, что означает (для NPM), что everying после этого передается в выполняемую команду, в этом случаеjest. В стороне, вы можете отобразить заметки об использовании шутки, сказавnpm test -- --helpво всяком случае, скандируя
npm test -- Fooзапускает тесты в именованном файле (
FooBar.js). Вы должны отметить, хотя, что:
Jest рассматривает имя как чувствительное к регистру, поэтому, если вы используете нечувствительную к регистру, но сохраняющую регистр файловую систему (например, Windows NTFS), вы можете столкнуться с тем, что кажется странным.
шутка появляется для лечения спецификаций в качестве префикса.
так что вышеприведенное заклинание будет
- выполнить
FooBar.js,Foo.jsиFooZilla.js- но не бежать
foo.js
используя
npm testне означает, что jest устанавливается глобально. Это просто означает, что "тест" сопоставляется с использованием jest в вашем пакете.jsonвот что сработало для меня, на корневом уровне проекта:
node_modules/.bin/jest [args]args может быть тестовым файлом, который вы хотите запустить, или каталогом, содержащим несколько файлов.
для выполнения индивидуального теста:
ValidationUtil его мой модуль ValidationUtil.спекуляция.js
npm test -t ValidationUtil- t - > после него ставится регулярное выражение, содержащее имя теста
если вы используете
yarnвы можете добавить.spec.jsили сразу после:yarn test src/lib/myfile.test.jsэто часть моего
package.jsonС jest установить как локальный пакет (удалены соответствующие части):{ ... "scripts": { "test": "jest", "testw": "jest --watch", "testc": "jest --coverage", ... }, "devDependencies": { "jest": "^18.1.0", ... }, }