Intenté usar la norecursedirs
opción dentro de setup.cfg para decirle a py.test que no recopile pruebas de ciertos directorios, pero parece que lo ignora.
[tool:pytest]
norecursedirs=lib/third
¡Cuando corro py.test
, veo cómo obtiene pruebas desde adentro lib/third
!
python
unit-testing
pytest
sorin
fuente
fuente
py.test
ypytest
ambos son bestias diferentes. Extraño peropytest
es el que falla porque no carga las exclusiones de[pytest]
.pytest
es de logilab. Quierespy.test
.nosecuredirs=lib/third/*
[pytest] norecursedirs = resources
enpytest.ini
hace un truco 💪!Respuestas:
py.test --ignore=somedir
trabajó para mifuente
--ignore
se puede especificar varias veces para ignorar varios directorios-k
opción como muestra otra respuesta a continuación. Consulte "Ejecutar pruebas mediante expresiones de palabras clave" en docs.pytest.org/en/latest/… . Las marcas también pueden ser útiles aquí. Marque sus pruebas como "lentas", etc. y luego use-k "not slow"
--ignore-glob
para ignorar las rutas de los archivos de prueba basados en comodines de estilo shell de Unix. Por ejemplo--ignore-glob=**/sandbox/*
, ignorará todos los archivos de cualquiersandbox
carpeta.Si tiene varios directorios con diferentes padres, puede especificar diferentes
--ignore
parámetros:py.test --ignore=somedir --ignore=otherdir --ignore=etcdir
fuente
Resolví el misterio: si se encuentra una sección de pytest en uno de los posibles archivos de configuración (
pytest.ini
,tox.ini
ysetup.cfg
), pytest no buscará otros, así que asegúrese de definir las opciones de py.test en un solo archivo.Sugeriría usar
setup.cfg
.fuente
setup.cfg
? La documentación actual parece recomendar los otros dos.ini
archivo, debe especificarlo conpytest -c pytest.ini
. por alguna razón, lossetup.cfg
contenidos se recogieron automáticamente.Puedes usar
py.test -k 'not third'
que excluye todo el contenido del directorio "tercer".
fuente
norecursedirs
Deberia trabajar. Compruebe si tiene un archivo pytest.ini u otro archivo setup.cfg. ¿Cómo estás invocandopy.test
?fuente
setup.cfg
los[pytest]
archivos correctos y no correctos en el interior, pero parece que se ignora y, en cambio, buscará todos los archivos.En mi caso, el problema fue el comodín que faltaba. Lo siguiente funciona para mí:
mientras que simplemente
norecursedirs = subpath
no lo hizo.fuente
Si está utilizando setup.cfg, debe utilizar
[tool:pytest]
según http://doc.pytest.org/en/latest/example/pythoncollection.htmlfuente
Para usar
pytest.ini
(que se recomienda, a menos que esté usando,tox
en cuyo casotox.ini
tendría sentido), llamepytest
conpytest -c pytest.ini
.Con el fin de evitar que mi muestra
not_me_1.py
ynot_me_2.py
de que se investiga o linted, mispytest.ini
es como sigue:fuente