Très simple, je souhaite lancer un seul test avec Jest.
Je mets it.only
ou describe.only
mais il exécute encore beaucoup de tests. Je pense qu'il exécute tous les tests depuis mon dernier commit, mais il ne devrait pas avoir ce comportement avec l' only
indicateur explicitement défini, non?
Qu'est-ce qui cause ce comportement et comment exécuter un seul test?
javascript
unit-testing
jestjs
jpenna
la source
la source
Réponses:
fit
,fdescribe
etit.only
,describe.only
ont le même objectif, sautez d'autres tests, exécutez uniquement moi.Source: https://github.com/facebook/jest/issues/698#issuecomment-177673281
Utilisez un
jest
mécanisme de filtrage, lorsque vous exécutez vos tests commeVous pouvez filtrer les tests par un
testname
oufilename
, suivez simplement les instructions du terminalAppuyez sur
p
, puis saisissez un nom de fichierEnsuite, vous pouvez utiliser
describe.only
etit.only
qui sautera tous les autres tests du fichier filtré et testé.la source
.only
seul fonctionne pour les tests du même fichier?it.only
ouit.skip
pour un seul test contenant une erreur de syntaxe, tous les tests échoueront. Bien sûr, le code des fichiers exclus par motif ne sera pas exécuté. imgur.com/z9FlQEZif.only
console.logs du composant Carousel autant de fois qu'il y a des tests ignorés / non ignorés pour ce composant dans vos modèles de surveillance.it.only
etdescribe.only
ne fonctionnent que pour le module dansjest -t name-of-spec
lequel ils se trouvent. Si vous rencontrez des problèmes pour filtrer les tests dans plusieurs fichiers, vous pouvez utiliser des tests de filtrage qui correspondent au nom de la spécification (correspondance avec le nom dans describe ou test).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"
la source
describe
bloc de test ). Si c'est le cas, vous devez vous limiter au nom exact du test sur lequel vous souhaitez vous concentrer.C'est comme ça:
jest sometest.test.js -t "some expression to match a describe or a test"
il testera tous les fichiers avec le nom
sometest.test.js
et la correspondance basés sur l'option -t, si vous ne voulez tester qu'un fichier spécifique, vous pouvez le faire:la source
launch.json
fichier de configuration VSCode qui déclenchera les tests à un cas de test spécifique: medium.com/better-programmingPour moi, cela fonctionne si j'utilise 2 paramètres comme celui-ci:
yarn test --watch -f "src/...fullpath.../reducer.spec.js" -t "Name of the test"
Drapeaux:
--watch: is optional -f: will do filtering of your files, so if you have a lot of tests with the same name, specify the full path to the exact file -t: works with 'describe' name or 'it' name of your test
la source