Dokos et Frappe permettent de mesurer la couverture de code lors de l'exécution des tests unitaires. Cette fonctionnalité aide les développeurs à identifier les parties du code qui ne sont pas testées et à améliorer la qualité des applications.
Depuis la version 5 de Dokos, chaque application peut définir ses propres règles d'exclusion de couverture de code. Cela permet une gestion plus fine et plus adaptée aux besoins spécifiques de chaque projet.
Pour configurer les exclusions de couverture pour une application spécifique, vous devez créer ou modifier le fichier .coveragerc à la racine de votre application. Voici un exemple de configuration :
[run]
omit =
*/tests/*
*/doctype/*/test_*.py
*/patches/*
*/hooks.py
.coveragerc dans le répertoire de chaque application testée..coveragerc de l'application prennent le pas sur les exclusions globales définies dans Frappe.Supposons que vous développiez une application personnalisée appelée ma_super_app et que vous souhaitiez exclure certains fichiers spécifiques de la couverture de code :
.coveragerc à la racine de votre application :touch apps/ma_super_app/.coveragerc
[run]
omit =
*/ma_super_app/utils/legacy_code.py
*/ma_super_app/doctype/ancien_module/*
bench --site [nom_du_site] run-tests --app ma_super_app --coverage
sites/[nom_du_site]/coverage pour vérifier que vos exclusions ont été prises en compte..coveragerc pour faciliter la maintenance.# Exécuter les tests avec couverture pour une application spécifique
bench --site [nom_du_site] run-tests --app [nom_de_l_app] --coverage
# Générer un rapport HTML de la couverture
coverage html -d sites/[nom_du_site]/coverage
Cette fonctionnalité est particulièrement utile dans les pipelines CI/CD pour :
::: info Cette fonctionnalité est particulièrement utile pour les développeurs travaillant sur des applications personnalisées ou des extensions de Dokos, permettant une configuration plus fine et adaptée aux besoins spécifiques de chaque projet. :::