javascript - tutorial - Exécuter un seul test avec Jest




test each jest (3)

Très simple, je veux exécuter un seul test avec Jest.

Je le mets it.only ou je le describe.only mais il exécute tout un tas de tests. Je pense qu'il exécute tous les tests depuis mon dernier commit, mais il ne devrait pas avoir ce comportement avec le only drapeau explicitement défini, non?

Quelles sont les causes de ce comportement et comment exécuter un seul test?


Jest met en parallèle les tests et il ne sait pas à l’avance quels tests il doit exécuter et quels tests ne doivent pas être exécutés. Cela signifie que lorsque vous utilisez "fit", il n'exécutera qu'un seul test dans ce fichier, mais tous les autres fichiers de test de votre projet seront également exécutés .

fit , fdescribe et it.only , it.only , n'a que le même but, saute les autres, tourne seulement moi.

Source: https://github.com/facebook/jest/issues/698#issuecomment-177673281

Utilisez le mécanisme de filtrage jest , lorsque vous exécutez vos tests comme

jest --config=jest.config.json --watch

Vous pouvez filtrer les tests par filename testname ou filename , il suffit de suivre les instructions du terminal.

Appuyez sur p , puis tapez un nom de fichier.

Ensuite, vous pouvez utiliser describe.only et it.only qui it.only tous les autres tests du fichier filtré et testé.


C'est comme ça:

jest sometest.test.js -t "some expression to match a describe or a test"

il testera tous les fichiers portant le nom sometest.test.js et les correspondants en fonction de l'option -t. Si vous souhaitez uniquement tester un fichier spécifique, sometest.test.js comme sometest.test.js :

jest src/user/.../sometest.test.js

it.only et describe.only ne fonctionnent que pour le module dans it.only ils se trouvent. Si vous rencontrez des problèmes pour filtrer les tests dans plusieurs fichiers, vous pouvez utiliser jest -t name-of-spec . filtrer les tests qui correspondent au nom de la spécification ( le nom décrit ou teste).
Source: https://facebook.github.io/jest/docs/en/cli.html

Par exemple, je concentre le test que j'écris actuellement comme ceci (avec le script de test dans le package.json ):
npm test -- -t "test foo"





jestjs