web-dev-qa-db-fra.com

Comment tester un fichier sous pytest

Comment tester un seul fichier dans pytest? Je ne pouvais que trouver les options Ignorer et aucune option "Tester uniquement ce fichier" dans la documentation.

De préférence, cela fonctionnerait sur la ligne de commande au lieu de setup.cfg, car je voudrais exécuter différents tests de fichiers dans l'ide. La suite entière prend trop de temps.

30
simonzack

il suffit d'exécuter py.test avec le chemin d'accès au fichier.

quelque chose comme

py.test tests/unit/some_test_file.py

33
Bryant

C'est assez simple:

$ pytest -v /path/to/test_file.py

L'indicateur -v permet d'augmenter la verbosité. Si vous souhaitez exécuter un test spécifique dans ce fichier:

$ pytest -v /path/to/test_file.py::test_name

Si vous voulez tester quels noms suivent un modèle, vous pouvez utiliser:

$ pytest -v -k "pattern_one or pattern_two" /path/to/test_file.py

Vous avez également la possibilité de marquer les tests. Vous pouvez donc utiliser l'indicateur -m pour exécuter un sous-ensemble de tests marqués.

fichier_test.py

def test_number_one():
    """Docstring"""
    assert 1 == 1


@pytest.mark.run_these_please
def test_number_two():
    """Docstring"""
    assert [1] == [1]

Pour exécuter le test marqué avec run_these_please:

$ pytest -v -m run_these_please /path/to/test_file.py
28
lmiguelvargasf

Cela a fonctionné pour moi:

python -m pytest -k some_test_file.py

Cela fonctionne aussi pour des fonctions de test individuelles:

python -m pytest -k test_about_something
1
JonDoe297