Comencé a integrar doctests en mis módulos. (¡Hurra!) Estos tienden a ser archivos que comenzaron como scripts, y ahora hay algunas funciones con aplicaciones CLI en el __name__=='__main__'
, por lo que no quiero poner la ejecución de las pruebas allí. Intenté nosetests --with-doctest
, pero obtuve muchas fallas que no quiero ver, porque durante el descubrimiento de prueba esto importa módulos que no contienen doctests pero sí requieren importar cosas que no tengo instaladas en este sistema, o deberían ejecutarse dentro de instalaciones especiales de pitón. ¿Hay alguna forma de que pueda ejecutar solo todos mis doctests?Ejecutar todos mis doctests para todos los módulos de Python en una carpeta sin ver los fallos debido a las malas importaciones
He considerado una tecla de acceso rápido en vim para ejecutar "import doctest; doctest.testfile (currentFilename)" para ejecutar mis doctests en el módulo actual, y otra secuencia de comandos que ejecuta todas las pruebas, ¿qué hacen otros usuarios de doctest? ¿O debería usar algo que no sea doctest?
Tengo problemas para usar -e para excluir incluso la búsqueda de los doctests, en ciertos módulos, que es cuando se encuentran los enunciados de importación. ¿Cómo se usa normalmente? La expresión regular para excluir las pruebas aparentemente no puede ser simplemente el nombre del módulo. – Thomas
Es cierto, '-e' no ayudará en su caso. Aún así, 'nosetests' es el camino para el descubrimiento de pruebas en python AFAIK. Debería ir por el enfoque 'try/except ImportError', o bien proporcionar implementaciones simuladas para sus módulos faltantes en algún lugar de su' PYTHONPATH' (ver mi última edición). –
Gracias, investigaré esto. Puede terminar pirateando un script que greps para el prompt interactivo '>>>' dentro de una docstring, y simplemente ejecuta 'doctest.testfile (file)' en esos módulos en su lugar. Pero para una solución de prueba más completa, lo que sugiere suena mejor. – Thomas