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