Жест Нет испытаний

запуск докера 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}"
    ],