Vous pouvez limiter le nombre de tests de plusieurs façons. Par exemple, vous pouvez exécuter un seul test en passant son nom complet en paramètre :
$ pytest tests/test_spam.py::TestEggs::test_bacon
n'exécutera que la méthode de test test_bacon
en classe TestEggs
dans le module tests/test_spam.py
.
Si vous ne connaissez pas le nom exact du test, vous pouvez le trouver en exécutant la commande suivante
$ pytest --collect-only -q
Vous pouvez combiner les deux commandes pour exécuter un nombre limité de tests :
$ pytest -q --collect-only 2>&1 | head -n N | xargs pytest -sv
s'exécutera en premier N
les tests collectés.
Vous pouvez également mettre en œuvre la fonction --limit
argumentez vous-même si vous le souhaitez. Exemple :
def pytest_addoption(parser):
parser.addoption('--limit', action='store', default=-1, type=int, help='tests limit')
def pytest_collection_modifyitems(session, config, items):
limit = config.getoption('--limit')
if limit >= 0:
items[:] = items[:limit]
La commande ci-dessus devient alors égale à
$ pytest --limit N