Vue d'ensemble
pytest 6.2, publié le 26 janvier 2021, améliore les résumés de tests et affine le mode verbose pour une meilleure lisibilité des rapports.
Fonctionnalités principales
Résumé court des tests
L'option -r permet de personnaliser le résumé affiché en fin de session. On peut filtrer par statut : f (failed), s (skipped), x (xfailed), etc. Le résumé est plus concis et plus lisible.
python
# test_calculs.py
import pytest
def test_addition():
assert 2 + 2 == 4
def test_division():
assert 10 / 3 == pytest.approx(3.333, rel=1e-2)
@pytest.mark.skip(reason='En attente de correctif')
def test_fonctionnalite_future():
pass
def test_echec():
assert 1 + 1 == 3 # va échouer
# Lancement avec résumé personnalisé :
# pytest -rfs -> affiche Failed + Skipped
# pytest -ra -> affiche tous les statuts non-passed
Améliorations du mode verbose
Le mode --tb=short produit des tracebacks plus compactes. Le mode -v affiche désormais le chemin complet de chaque test et son résultat de manière plus structurée.
python
# test_utilisateurs.py
import pytest
@pytest.fixture
def utilisateur():
return {'nom': 'Dupont', 'age': 30}
def test_nom(utilisateur):
assert utilisateur['nom'] == 'Dupont'
def test_age(utilisateur):
assert utilisateur['age'] >= 18
# Lancement verbose avec tracebacks courtes :
# pytest -v --tb=short
#
# test_utilisateurs.py::test_nom PASSED
# test_utilisateurs.py::test_age PASSED
