"J'ai écrit des tests !" "Super, mais est-ce que tu as tout testé ?"
Le Code Coverage te dit quel pourcentage de ton code a été exécuté pendant les tests.
Si tu as une fonction if a > 10 et que tu ne testes jamais le cas où a = 15, ton coverage sera incomplet.
Installation
pip install pytest-cov
Lancer
pytest --cov=app
Résultat :
Name Stmts Miss Cover
----------------------------------------
app/__init__.py 25 0 100%
app/auth/routes.py 40 5 87%
----------------------------------------
TOTAL 65 5 92%
Tu peux même générer un rapport HTML pour voir visuellement (en rouge) les lignes non testées :
pytest --cov=app --cov-report=html
open htmlcov/index.html
Vise 80%+. Le 100% est souvent une perte de temps (loi des rendements décroissants).