Vue d'ensemble

pytest 7.0, publié le 1er février 2023, ajoute le paramètre pythonpath et améliore la gestion des identifiants de nœuds de tests.

Fonctionnalités principales

Paramètre pythonpath

Le nouveau paramètre pythonpath dans pyproject.toml permet d'ajouter des répertoires au sys.path sans manipuler manuellement l'environnement.

python
# pyproject.toml
# [tool.pytest.ini_options]
# pythonpath = ["src", "lib"]

# Avec cette configuration, les imports fonctionnent
# directement depuis src/ et lib/
# sans installer le package ni modifier PYTHONPATH

# test_app.py
from mon_app.services import calculer_total

def test_calcul():
    assert calculer_total([10, 20, 30]) == 60

Identifiants de nœuds améliorés

Les identifiants de nœuds (node IDs) sont désormais plus lisibles et cohérents, facilitant le filtrage des tests et la compréhension des rapports d'exécution.

python
import pytest

@pytest.mark.parametrize('entree,attendu', [
    ([1, 2, 3], 6),
    ([], 0),
    ([10], 10),
])
def test_somme(entree, attendu):
    assert sum(entree) == attendu

# Node IDs améliorés :
# test_math.py::test_somme[entree0-6]
# test_math.py::test_somme[entree1-0]
# pytest -k 'test_somme[entree0]' pour filtrer

Sources