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
!
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
.
py.test --ignore=somedir
a travaillé pour moi
Vous pouvez utiliser
py.test -k 'not third'
qui exclut tout le "troisième" contenu du répertoire.
norecursedirs
devrait fonctionner. Vérifiez si vous disposez d'un fichier pytest.ini ou d'autres fichiers setup.cfg. Comment invoquez-vous py.test
?
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.
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" `` `