web-dev-qa-db-fra.com

Exécuter les tests Jest uniquement pour le dossier actuel

J'ai installé Jest sur ma machine et en tapant jest à partir des résultats du terminal dans les tests des folers parents également exécutés. Je souhaite exécuter des tests uniquement à partir du dossier actuel.

Par exemple si je vais à c:/dev/app dans le terminal et tapez some-jest-command, il ne devrait exécuter que les fichiers avec .test.js présent dans le dossier app. Actuellement, l'exécution de la commande jest à partir du dossier app exécute également des tests dans les dossiers parents, ce qui n'est pas mon comportement souhaité.

9
maverick

Par défaut, Jest essaiera de tout tester récursivement à partir de n'importe quel dossier package.json est situé.

Disons que vous êtes dans c:/dev/app, et ton package.json est dans c:. Si votre commande de base pour appeler Jest est npm test, puis essayez d'exécuter npm test dev/app.

17

Pour exécuter uniquement les tests dans un répertoire spécifique et pour forcer Jest à lire uniquement certains types de fichiers (mon exemple: 'ExampleComponent.test.js' avec la nouvelle version de Jest @ 24.9.0, vous devez écrire exactement "testMatch" dans jest.config. json || package.json dans la partie "jest" suivante "testMatch": [ "<rootDir>/src/__tests__/**/*.test.js" ], ce testMatch dans mon cas frappe tous les fichiers avec le préfixe .test.js dans tests/sous-répertoires/et ignore tous les autres des fichiers comme 'setupTest.js' et d'autres fichiers .js dans le sous-répertoire 'mocks' qui est placé à l'intérieur du répertoire 'tests', donc, mon 'jest.config.json 'ressemble à ceci { "setupFiles": [ "raf/polyfill", "<rootDir>/setupTests.js" ], "snapshotSerializers": [ "enzyme-to-json/serializer" ], "moduleNameMapper": { "^.+\\.(css|less|scss|sass)$": "identity-obj-proxy" }, "testMatch": [ "<rootDir>/src/__tests__/**/*.test.js" ] }.

Il vous suffit de vous adapter à l'expression rationnelle "testMatch" de vos besoins.

Une petite note: c'est pour [email protected] && [email protected] si cela compte pour n'importe qui.

J'espère que ce sera utile à quelqu'un, bravo à tous.

0
Goran7777