Modèle de projet Cypress avec intégration continue Circle CI
Quand on démarre un nouveau projet d’automatisation de tests, on passe souvent trop de temps à configurer l’outillage : CI/CD, reporters, linting, hooks Git… C’est du temps perdu sur l’écriture des tests eux-mêmes. C’est pourquoi j’ai créé un modèle de projet Cypress clé en main, intégré avec Circle CI, prêt à être forké et utilisé immédiatement.
Pourquoi un modèle de projet ?
Un modèle (ou template) permet de standardiser les bonnes pratiques dès le départ. Plutôt que de recréer des configurations complexes et des fonctions personnalisées à chaque nouveau projet, vous partez sur des bases solides, testées et documentées.
Les avantages concrets :
- Gain de temps — Plus besoin de configurer Cypress, le CI/CD, les reporters et les hooks à chaque fois.
- Cohérence — Tous les projets suivent la même structure et les mêmes conventions.
- Onboarding facilité — Un nouveau membre de l’équipe peut être opérationnel en quelques minutes.
Ce que contient le modèle
Intégration Circle CI
Le pipeline CI/CD est préconfiguré via .circleci/config.yml. À chaque commit poussé sur le dépôt, Circle CI exécute automatiquement les tests Cypress. Le service est gratuit pour les projets open source et offre une configuration simple basée sur du YAML.
Cypress Dashboard
Le projet est connecté au Cypress Dashboard pour bénéficier de l’exécution parallèle des tests et d’une visibilité complète sur les résultats. Vous pouvez suivre les tendances, identifier les tests instables (flaky tests) et analyser les échecs avec des captures d’écran et vidéos automatiques.
Git Hooks avec Husky
Des hooks Git sont configurés via Husky pour garantir la qualité du code avant chaque commit. Le hook pre-commit exécute le linting et le formatage, tandis que prepare-commit-msg standardise les messages de commit selon les conventions du projet.
Rapports JUnit
Les résultats des tests sont agrégés au format JUnit XML, exploitables directement dans la section Insights de Circle CI. Cela permet de suivre les métriques de qualité dans le temps : taux de réussite, durée des tests, tests les plus lents.
Tests multi-environnements
Le modèle est préconfiguré pour gérer plusieurs environnements (dev, staging, production). Les URLs et configurations spécifiques sont centralisées dans des fichiers de configuration Cypress, ce qui permet de lancer les tests sur n’importe quel environnement avec une simple variable.
Commandes personnalisées
Un ensemble de custom commands Cypress est inclus pour simplifier le travail quotidien : login, gestion des intercepts API, assertions réutilisables. Ces commandes sont documentées et prêtes à être étendues selon vos besoins.
Démonstration en vidéo
Dans cette vidéo, je présente le modèle en détail : structure du projet, configuration CI/CD, et exécution des tests en live.
Accéder au projet
Le code source est disponible sur GitHub. N’hésitez pas à le forker, l’adapter à vos besoins, et contribuer si vous avez des suggestions d’amélioration.
Vous utilisez ce modèle ou vous avez des questions ? N’hésitez pas à me contacter — je serai ravi d’échanger sur vos projets d’automatisation.
