Mise à jour: mon cas d'utilisation consiste principalement à exécuter des tests sur CI, mais la substitution des paramètres par défaut de CRA Jest est quelque chose que je me demande généralement.
J'exécute des tests en utilisant Jest , la configuration fournie avec Create React App . Elle se lance toujours en mode interactif:
› Press a to run all tests.
› Press o to only run tests related to changed files.
› Press p to filter by a filename regex pattern.
› Press q to quit watch mode.
› Press Enter to trigger a test run.
Mais je ne veux pas qu'il attende mon entrée. Je veux qu'il s'exécute une fois puis se termine. J'ai essayé d'utiliser le --bail
ou --no-watchman
change mais il se lance toujours en mode interactif.
Si j'installe globalement jest
et l'exécute à la racine de mon projet, il s'exécute une fois et se termine (comme je le souhaite). Mais quand je lance npm test
qui s'exécute react-scripts test
, il passe en mode montre même lorsque je ne passe pas --watch
.
Mise à jour: j'ai également déposé un problème sur CRA .
CRA recherche une variable d'environnement CI
, si elle est présente, elle ne s'exécute pas en mode veille.
CI=true npm test
devrait faire ce que vous cherchez
Voir Guide de l'utilisateur -> Exécution de tests -> Sur votre propre environnement
[~ # ~] mise à jour [~ # ~] Pour les non-ci, par exemple en exécutant des tests localement, à partir de [email protected]
vous pouvez passer un --no-watch
drapeau:
npm test --no-watch