Жест Нет испытаний
запуск докера mhart/alpine-node: 8 на macOS с
nodejs (6.10.3-r0) (18/18) пряжа 0.24.6 шутка 20.0.4
У меня есть файл __tests __/index.test.js, однако, при запуске кода
node_modules/.bin/jest --watchAll
Я получаю вывод ниже
Тесты не найдены
В /usr/src/app
5 файлов проверено.
testMatch: /__ tests __//*.js?(x),**/?(*.)(spec|test).js?(x) - 1 совпадение
testPathIgnorePatterns: /node_modules/,/src, src - 0 соответствий
Pattern: "" - 0 совпадений
Я переустанавливал номера пакетов раз, но безрезультатно.
Ответы
Ответ 1
В выводе указано, что testMatch
имеет 1 match
, который может быть вашим файлом __tests__/index.test.js
. Кажется, что ваш testPathIgnorePatterns
вызывает игнорирование набора тестов. No tests found In /usr/src/app
говорит, что Jest ищет тесты в /usr/src/app
, а testPathIgnorePatterns: /node_modules/,/src,src
говорит, что Jest игнорирует файлы в каталогах /src
.
В любой точке Jest посмотреть местоположение вашего файла __tests__/index.test.js
, если оно находится вне каталога /src, или остановить testPathIgnorePatterns
от игнорирования каталога/src.
Ответ 2
Если вы хотите запустить все тесты внутри папки tests, вы можете просто выполнить следующее
jest __tests__ --watch
Ответ 3
Вы можете попробовать запустить jest
без каких-либо параметров. Ключевым моментом, на который следует обратить внимание, является то, что имена тестовых файлов должны соответствовать соглашению *.test.js
или *.spec.js
.
Ответ 4
Если у вас есть файловая структура, такая как
myFolder
│ myFile1.js
│ myFile2.js
│ ...
│
└───__tests__
myFile1.spec.js
myFile2.spec.js
...
тогда вам нужно иметь в jest.config.js
следующий шаблон для свойства testMatch
:
testMatch: ['**/__tests__/*.js?(x)'],
Простой пример jest.config.js
:
const jestConfig = {
verbose: true,
testURL: "http://localhost/",
'transform': {
'^.+\\.jsx?$': 'babel-jest',
},
testMatch: ['**/__tests__/*.js?(x)'],
}
module.exports = jestConfig
Ответ 5
У меня была эта ошибка при попытке запустить тесты в подмодуле проекта. Исправлена проблема путем тестирования подмодуля изолированно, в отдельном дереве папок от основного проекта.
Ответ 6
В package.json есть шаблон, который используется для поиска тестового файла. В этом шаблоне вы можете изменить его в соответствии с местоположением вашего файла или сделать его глобальным шаблоном.
Я написал тест, а не в определенную папку и следую соглашению об именах *.test.js
и изменил testMatch
"testMatch": [
"<rootDir>/src/**/*.(test).{js,jsx,ts,tsx}",
"<rootDir>/src/**/?(*.)(spec|test).{js,jsx,ts,tsx}"
],