web-dev-qa-db-fra.com

Jest trouve des tests mais ne collecte pas la couverture

J'essaie de collecter une couverture de test pour ce projet en utilisant

yarn test --coverage # i.e. "react-scripts test --coverage"

Ma configuration de JEST est la suivante:

  "jest": {
    "collectCoverageFrom": [
      "src/**/*.ts*"
    ],
    "coverageThreshold": {
      "global": {
        "lines": 90,
        "statements": 90
      }
    }
  }

et ma structure de dossier est la suivante:

.
├── package.json
├── postcss.config.js
├── public/
├── README.md
├── src/
│   ├── App.css
│   ├── App.test.tsx
│   ├── App.tsx
│   ├── assets/
│   ├── components/
│   │   ├── Emoji/
│   │   │   ├── Emoji.test.tsx
│   │   │   ├── Emoji.tsx
│   │   │   └── index.ts
│   │   └── Home/
│   │       ├── Home.css
│   │       ├── Home.test.tsx
│   │       ├── Home.tsx
│   │       └── index.ts
│   ├── index.css
│   ├── index.tsx
│   ├── react-app-env.d.ts
│   └── serviceWorker.ts
├── tsconfig.json
├── yarn-error.log
└── yarn.lock

La Jest est en mesure de trouver tous les tests, mais elle ne collecte pas la couverture:

 PASS  src/components/Home/Home.test.tsx
 PASS  src/components/Emoji/Emoji.test.tsx
 PASS  src/App.test.tsx
----------|----------|----------|----------|----------|-------------------|
File      |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files |        0 |        0 |        0 |        0 |                   |
----------|----------|----------|----------|----------|-------------------|

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

Qu'est-ce que je rate? Que dois-je ajouter à la configuration pour obtenir la couverture?

Toute astuce est la bienvenue :)

Essaie

  1. Changer le motif globule en "src/**/*.{js,jsx,ts,tsx}".
  2. Suppression node_modules, puis en cours d'exécution yarn pour réinstaller tout.
  3. Suppression node_modules et yarn.lock, puis réinstaller tout, ce qui a conduit à n autre bug , que j'ai essayé de résoudre l'installation de cette dépendance particulière, mais cela n'a pas fonctionné.
  4. Clonage du référentiel de GitHub puis exécutant la commande sur la version fraîche.
  5. Passer à un autre Node Version (V10.16.2 et V11.7.0).
25
Lual

Ajoutez ceci à votre colis.json

"jest": {
    "testPathIgnorePatterns": [
      "<rootDir>/path/to/ignore/"
    ]
  }

Cela résoudra la question de la vôtre au lieu de spécifier de nombreuses commandes

0
Md Irshad

Dans mon cas, je testais React Native/Expo App avec l'option cacheDirectory: '.jest/cache'. Supprimer le .jest Le répertoire a résolu le problème pour moi.

0
Mehmet N. Yarar