J'ai la structure de répertoire suivante pour travailler avec Cypress:
cypress-automation
cypress
fixtures
integration
apps
Pulse
smhw-prod
smhw-qa
folder-a
sample-spec.js
examples
plugins
screenshots
support
videos
node_modules
cypress.json // this is where the file currently is
package-lock.json
package.json
Attente
Ce que je veux faire, c'est courir tous les tests à l'intérieur de l'smhw-qa
Dossier (il existe un certain nombre de fichiers spécifiques dedans) .. et être capable de passer cela à l'aide de l'utilisation de --project
commande à l'aide de CLI.
Actuellement si je viens d'exécuter `--Run`` sans aucun autre argument, tous les fichiers de spécifications, de tous les dossiers commenceront à exécuter, ce qui n'est pas souhaitable, car il existe plusieurs applications" Projets "(SMHW-QA, SMHW-PROD, etc.) dans cette structure. Cela me permettra de gérer uniquement les fichiers de spécifications à partir d'un seul dossier au besoin.
Je suis également au courant de l'utilisation de l'--run
Commande à "Exécuter" un dossier spécifique, mais je veux utiliser des "projets" pour organiser ces tests afin qu'il soit plus facile de les identifier plus tard.
J'ai examiné les docs qui montrent l'utilisation de la --project
Commande Toutefois, je dois aider à comprendre ce que j'ai besoin d'être configuré pour pouvoir faire ce travail. À ce sujet, je parle de la package.json
fichier.
Ce que j'ai essayé jusqu'à présent
[.____] J'ai essayé de suivre l'exemple fourni pour tester les "dossiers imbriqués" d'ici: https://github.com/cress-io/cress-test-neté-projects
package.json
: Ajout du script suivant:
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"smhw-qa": "cypress run --project ./cypress/integration/apps/smhw-qa"
},
Quand j'exécute ceci via le terminal comme si:
➜ cypress-automation npx cypress run --project ./cypress/integration/apps/smhw-qa
Je reçois une erreur:
Can't run because no spec files were found.
We searched for any files inside of this folder:
/Users/jaswindersingh/Documents/cypress-automation/cypress/integration/apps/smhw-qa/cypress/integration
Est-ce que je manque quelque chose? Si mon cypress.json
Dossier être situé ailleurs?
J'aimerais pouvoir définir chacun des dossiers dans des "applications" pour être des projets, puis pour pouvoir exécuter ces projets à l'aide de la cypress run --project
commande.
Cela facilitera également la gestion des dossiers de tests spécifiques lorsque je connecte notre CI afin que seuls des projets spécifiques (et leurs fichiers spécifiques) fonctionnent lorsque je choisis.
Je pense que vous cherchez --spec path/to/folder/*.js
Vous pouvez exécuter tous les tests dans un dossier ou même dans tous les sous-dossiers d'un dossier,
ex/ npx cypress run --spec cypresss/integration/subsetA/**/*-spec.js
exécuterait toutes les spécifications .js dans tous les dossiers dans le dossier "Subeseta" de cyprès/intégration.
Donc, dans votre cas: npx cypress run --spec cypress/integration/apps/smhw-qa/**/*-spec.js
devrait faire l'affaire.
https://docs.cypress.io/guides/guides/command-line.html#how-a-run-commands