Я пытаюсь запустить Jest в своем проекте. У меня Windows 10. У меня есть только один тест в одном тестовом файле.
В package.json
:
"test": "jest"
Моя структура каталогов:
src/
app/
routeName/
redux/
action.tests.js
Мой вывод:
No tests found, exiting with code 1
Run with `--passWithNoTests` to exit with code 0
In C:\Users\myUsername\Documents\myApp
47 files checked.
testMatch: **/__tests__/**/*.[jt]s?(x), **/?(*.)+(spec|test).[tj]s?(x) - 0 matches
testPathIgnorePatterns: \\node_modules\\ - 47 matches
testRegex: - 0 matches
Pattern: - 0 matches
npm ERR! Test failed. See above for more details.
Согласно документации здесь, Jest должен искать все, что имеет test.js
в названии.
Я тоже пробовал tests.js
и тоже не помогло.
Я создал папку в корне проекта и положил туда тест как __tests__/tests.js
, и это сработало, но я не хочу, чтобы он туда помещался.
Я видел несколько заявок и вопросов по вопросам, которые внешне похожи, но все они связаны с более сложными конфигурациями или ошибками, которые предположительно уже были исправлены. У меня никаких специальных настроек не установлено. В документации сказано, что это должно работать. Учебники, которые я прочитал для Jest, включают точную настройку, которую я использую в настоящее время.
Я использую Babel и Webpack. Я установил пакеты jest
и babel-jest
. Я также добавил шутку в среду ESLint.
[править] обновлено, чтобы правильно задокументировать мою проблему, на которую я ответил ниже. Я потерял имя моего файла.
Я чертов идиот, и я не обращал внимания на детали.
Jest ищет test.js
специально. Не testS.js
. Мои файлы были помечены как tests.js
. Это сработало внутри __tests__/
, потому что Jest просто ищет что-нибудь внутри.
Теперь он работает нормально, и он останется в качестве свидетельства того, что я не смотрю на специфику совпадений регулярных выражений.
No tests found, exiting with code 1
Все, что мне нужно было сделать, это npm install
.
Затем я нажимаю ссылку «Отладка» в верхней части моего теста. Тест был найден, и его выполнение было остановлено в точке останова. Простое решение очень неприятной проблемы.
Со своей стороны, я получал эту ошибку, потому что я поместил себя (cd) в каталог, где был установлен chromeDriver, чтобы не добавлять его путь в $Path. После того, как я добавил chromeDriver в $Path и поместил себя в каталог своего проекта, все пошло нормально.
Каков путь chromeDriver
?
Леопольд, не могли бы вы поделиться тем, что вы ввели в свой PATH?
У меня была та же проблема, я хотел запустить свои тесты внутри конвейера drone
CI, и у меня была та же ошибка, которая решила мою проблему, просто добавив workspace
в мой проект.
У меня была такая же проблема с React-App. Убедитесь, что файл конфигурации jest имеет правильный шаблон файла для поиска тестов:
// jest.config.js
module.exports = {
testMatch: [
'<rootDir>/src/**/*.test.js',
'<rootDir>/src/**/*.test.jsx',
],
...
}
МОЙ БОГ! Спасибо!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Вам просто нужно изменить имя файла. Например если у вас есть файл клиент.js или клиент.ts и вы хотите его протестировать. Создайте новое имя файла клиент.test.js или клиент.test.ts после теста npm проверит файл только для тестирования.
проверьте, если это маленький регистр, например имя файла.test.js. Я сделал ошибку ComponentName.Test.js и получил ошибку, исправил ее с помощью ComponetName.test.js
В моем случае я забыл найти тест в каталоге
__tests__/
.