Jest не показывает тесты, когда есть больше чем один набор - PullRequest
0 голосов
/ 01 ноября 2019

Я тестирую свое приложение. Когда я запускаю 'npm test', я хочу видеть в терминале все тесты. У меня есть один файл с именем auth.test.js со всеми моими тестами.

Так что мой вывод при запуске теста npm следующий:

> jest --forceExit

 PASS  src/test/auth.test.js
  /LOGIN testing
    ✓ Should not login a unexistent username. (22ms)
    ✓ Should not login with incorrect credentials. (63ms)
    ✓ Should not login with empty fields. (2ms)
    ✓ Should login a moked user. (67ms)
  /SIGNUP testing
    ✓ Should not sign up a new user with invalid password. (3ms)
    ✓ Should not sign up a new user with invalid username. (2ms)
    ✓ Should sign up a new user. (72ms)
    ✓ Should not sign up a existing user. (4ms)
    ✓ Should not sign up with empty fields. (3ms)

Test Suites: 1 passed, 1 total
Tests:       9 passed, 9 total
Snapshots:   0 total
Time:        1.114s, estimated 2s
Ran all test suites.

Это хорошо. Я могу видеть все тесты с подробностями.

Теперь я хочу добавить новый файл с тестами, который называется api.tests.js.

Затем, когда я запускаю 'npm test', я вижуэти выходные данные:

> jest --forceExit

 PASS  src/test/api.test.js
 PASS  src/test/auth.test.js

Test Suites: 2 passed, 2 total
Tests:       10 passed, 10 total
Snapshots:   0 total
Time:        1.589s, estimated 2s
Ran all test suites.

После прочтения документации шутника (статья Cli) я не могу найти, как увидеть детали, как я вижу при тестировании 1 файла, но при тестировании более 1 файла.

Это возможно? Как это сделать?

1 Ответ

0 голосов
/ 04 ноября 2019

Вам необходимо изменить конфигурацию testMatch в вашем файле jest.config.js.

Шаблоны глобусов, которые Jest использует для обнаружения тестовых файлов. По умолчанию он ищет файлы .js, .jsx, .ts и .tsx внутри папок tests , а также любые файлы с суффиксом .test или .spec (например, Component.test.js илиComponent.spec.js). Он также найдет файлы с именем test.js или spec.js.

Ваш новый тестовый файл с именем api.tests.js, поэтому вам необходимо добавить шаблон глобуса

'**/?(*.)+(specs|tests).[jt]s?(x)' вtestMatch конфигурация.

Например, jest.config.js:

module.exports = {
  preset: 'ts-jest',
  testEnvironment: 'enzyme',
  setupFilesAfterEnv: ['jest-enzyme'],
  testEnvironmentOptions: {
    enzymeAdapter: 'react16'
  },
  coverageReporters: ['json', 'text', 'lcov', 'clover'],
  testMatch: ['**/__tests__/**/*.[jt]s?(x)', '**/?(*.)+(spec|test).[jt]s?(x)', '**/?(*.)+(specs|tests).[jt]s?(x)']
};

Результат модульного теста:

☁  jest-codelab [master] ⚡  npm t

> jest-codelab@1.0.0 test /Users/ldu020/workspace/github.com/mrdulin/jest-codelab
> jest --detectOpenHandles

 PASS  src/stackoverflow/58663681/api.tests.js
  ✓ t1 (4ms)

Test Suites: 1 passed, 1 total
Tests:       1 passed, 1 total
Snapshots:   0 total
Time:        3.883s
Ran all test suites.
...