Intenté usar la norecursedirsopció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.testypytestambos son bestias diferentes. Extraño peropytestes el que falla porque no carga las exclusiones de[pytest].pytestes de logilab. Quierespy.test.nosecuredirs=lib/third/*[pytest] norecursedirs = resourcesenpytest.inihace un truco 💪!Respuestas:
py.test --ignore=somedirtrabajó para mifuente
--ignorese puede especificar varias veces para ignorar varios directorios-kopció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-globpara 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 cualquiersandboxcarpeta.Si tiene varios directorios con diferentes padres, puede especificar diferentes
--ignoreparámetros:py.test --ignore=somedir --ignore=otherdir --ignore=etcdirfuente
Resolví el misterio: si se encuentra una sección de pytest en uno de los posibles archivos de configuración (
pytest.ini,tox.iniysetup.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.iniarchivo, debe especificarlo conpytest -c pytest.ini. por alguna razón, lossetup.cfgcontenidos se recogieron automáticamente.Puedes usar
py.test -k 'not third'que excluye todo el contenido del directorio "tercer".
fuente
norecursedirsDeberia trabajar. Compruebe si tiene un archivo pytest.ini u otro archivo setup.cfg. ¿Cómo estás invocandopy.test?fuente
setup.cfglos[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 = subpathno 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,toxen cuyo casotox.initendría sentido), llamepytestconpytest -c pytest.ini.Con el fin de evitar que mi muestra
not_me_1.pyynot_me_2.pyde que se investiga o linted, mispytest.inies como sigue:fuente