Afin de rechercher la partie que le test unitaire implémenté sur Django ne peut pas couvrir, nous introduisons coverage
et mesurons la couverture.
On suppose que Django est déjà installé.
$ pip install coverage
Exécutez tous les tests et effectuez des mesures. À ce stade, un fichier «.coverage» est généré.
$ coverage run --source=. --omit='*/tests*' manage.py test
À ce stade, afin d'exclure tout répertoire qui agrège les tests unitaires, l'option --omit
est utilisée pour exclure la mesure de couverture.
Voir l'aide pour les types d'options de mesure.
$ coverage run --help
Sortez le résultat de la mesure.
$ coverage report -m
Name Stmts Miss Cover Missing
----------------------------------------------------------------------------------
auth/models.py 61 7 89% 15, 28-30, 115-116, 119
...
config/__init__.py 0 0 100%
...
----------------------------------------------------------------------------------
TOTAL 967 207 79%
Les noms des colonnes et leur signification sont les suivants: «Manquant» est affiché à l'aide de l'option «-m».
Nom de colonne | sens |
---|---|
Name | Fait référence au nom du fichier cible pour la mesure de la couverture. |
Stmts | Abréviation des déclarations.Se réfère au nombre de lignes de code exécutable. |
Miss | Se réfère au nombre de lignes qui n'ont pas été exécutées dans Stmts. |
Cover | couverture(Taux de couverture)Pointer vers. |
Missing | Fait référence au numéro de ligne qui était la cible de Miss. |
Consultez l'aide pour les types d'options lors de la sortie des résultats.
$ coverage report --help
Il est également possible de générer des rapports au format HTML, XML, JSON, etc. Pour plus de détails, voir [Document](https://coverage.readthedocs.io/en/coverage-5.3/cmd.html#html-annotation] -coverage-html).
En mesurant la couverture lors de l'exécution du test unitaire de Django, les parties qui ne sont pas couvertes sont visualisées.
Recommended Posts