web-dev-qa-db-fra.com

Comment puis-je exécuter du code avant toute suite de tests avec Cypress

Fondamentalement, je veux me connecter une fois avant d'exécuter tous mes tests. Mes fichiers de tests sont répartis sur plusieurs fichiers.

Dois-je appeler ma commande de connexion dans chaque fichier de test à l'aide du hook avant ou existe-t-il un moyen de le faire une fois avant tous les tests?

13
Florian F

Réponse courte: Vous pouvez écrire votre commande de connexion dans un crochet before dans le supportFile ( le fichier qui est chargé automatiquement avant vos autres fichiers de spécifications ). Ce before hook s'exécutera avant tout le code de vos autres fichiers de test.


Recommandations: Cela étant dit, cette approche laisse peu de flexibilité pour la variation de vos fichiers de test individuels que vous pourriez souhaiter à l'avenir comme:

  • Que faire si vous souhaitez amorcer la base de données différemment pour un test?
  • Que faire si vous souhaitez vous connecter en tant qu'utilisateur différent avec des autorisations différentes?
  • Que faire si vous devez faire quelque chose dans onBeforeLoad une fois?

Je recommanderais simplement d'avoir la commande de connexion dans un crochet before dans chaque fichier de spécifications individuel.

Je voudrais également plus loin recommander d'avoir votre commande de connexion dans un crochet beforeEach pour éviter de partager n'importe quel état entre les tests =.

14
Jennifer Shehane