web-dev-qa-db-fra.com

Comment dire à py.test de sauter certains répertoires?

J'ai essayé d'utiliser l'option norecursedirs dans setup.cfg pour dire à py.test de ne pas collecter les tests de certains répertoires mais il semble qu'il l'ignore.

[tool:pytest]
norecursedirs=lib/third

Quand je lance py.test Je vois comment il obtient des tests de l'intérieur lib/third!

58
sorin

J'ai résolu le mystère: si une section pytest se trouve dans l'un des fichiers de configuration possibles (pytest.ini, tox.ini et setup.cfg), pytest n'en recherchera pas d'autres, assurez-vous donc de définir les options py.test dans un seul fichier.

Je suggère d'utiliser setup.cfg.

21
sorin

py.test --ignore=somedir a travaillé pour moi

48
shadfc

Vous pouvez utiliser

py.test -k 'not third'

qui exclut tout le "troisième" contenu du répertoire.

12
Salvatore Avanzo

norecursedirs devrait fonctionner. Vérifiez si vous disposez d'un fichier pytest.ini ou d'autres fichiers setup.cfg. Comment invoquez-vous py.test?

11
ecatmur

Si vous avez plusieurs répertoires avec des parents différents, vous pouvez spécifier différents --ignore paramètres:

py.test --ignore=somedir --ignore=otherdir --ignore=etcdir

  • nouvelle option: --ignore empêchera le chemin spécifié de la collection.
    Peut être spécifié plusieurs fois.
6
David Batista

Si vous utilisez setup.cfg, vous devez utiliser [tool:pytest] selon http://doc.pytest.org/en/latest/example/pythoncollection.html

# contenu de pytest.ini
# peut également être défini dans le fichier tox.ini ou setup.cfg, bien que la section
# nom dans les fichiers setup.cfg doit être "tool: pytest" `` `

3
RChat