• # Attention à pytest-cov

    Posté par . En réponse à la dépêche Python — partie 9 ― formateur de code, analyse statique. Évalué à 2.

    Pour avoir utilisé les deux (coverage -m pytest, tout simplement, et en utilisant pytest-cov), j'ai finalement eu moins de soucis avec coverage -m pytest, surtout avec des tests parallèles.

    J'ai un exemple ici :

    https://github.com/JulienPalard/oeis/blob/main/tox.ini

    Où un tox -m all lance des tests sur 3 versions de Python en parallèle et agrège les résultat de coverage à la fin. Faire la même chose avec pytest-cov est un enfer ☹.

    L'agrégation est particulièrement utile dès qu'on a quelque chose comme :

    if sys.version_info > (3, 8):
     ...
    else:
     ...

    sans agréger à la fin, soit le if soit le else sera compté comme non couvert, alors qu'en agrégeant le if et le else peuvent être couverts (et atteindre le fameux 100%, ha, ha).