2012-08-30 17 views
6

Yo uso nosetest 's coverage.py complemento. ¿Es de alguna manera posible excluir archivos o carpetas completos del informe de cobertura? Mi caso de uso es tener una biblioteca externa en la carpeta de mi proyecto que obviamente no está cubierta por mi suite de pruebas.Cómo excluir un archivo de coverage.py?

+3

echar un vistazo a http://stackoverflow.com/questions/12187106/how-to-exclude-mock-package-from-python-coverage-report-using-nosetests – User

Respuesta

1

Sí, tienen un amplio soporte para esto en the docs.

Cuando se ejecuta el código, el comando de ejecución de cobertura de forma predeterminada medida todo el código, a menos que sea parte de la biblioteca estándar de Python.

Puede especificar la fuente a medir con el modificador --source de línea de comandos , o el valor de configuración de origen [ejecutar]. El valor es una lista de directorios o nombres de paquetes. Si se especifica, solo la fuente dentro de se medirán estos directorios o paquetes. La especificación de la opción de origen también permite a coverage.py informar sobre archivos no ejecutados, ya que puede buscar en el árbol de fuentes archivos que no se hayan medido en todos. Solo se considerarán los archivos importables (los que están en la raíz del árbol o en los directorios con un archivo __init__.py), y se omitirán los archivos con puntuación inusual en sus nombres (se supone que son archivos reutilizables escritos por editores de texto).

Puede ajustar aún más la atención de coverage.py con --include y --omit interruptores (o [ejecutar] incluir y [ejecutar] omitir configuración valores). --include es una lista de patrones de nombre de archivo. Si se especifica, solo se medirán los archivos que coincidan con esos patrones. --omit también es una lista de los patrones de nombre de archivo, especificando los archivos que no se deben medir. Si se incluyen y se omiten, primero el conjunto de archivos se reduce a , solo aquellos que coinciden con los patrones de inclusión, y luego se eliminan del conjunto los archivos que coincidan con .

Los patrones de nombre de archivo incluir y omitir siguen la sintaxis de shell típica: * coincide con cualquier número de caracteres y? coincide con un solo personaje. Los patrones que comienzan con un carácter comodín se utilizan tal como están, otros patrones se interpretan en relación con el directorio actual.

Los valores de origen, incluir y omitir funcionan todos juntos para determinar la fuente que se medirá.

+0

Para las líneas individuales o código que bloquea puede usar '# pragma: sin cubierta' como se ve en [documentos excluidos] (http://coverage.readthedocs.io/en/coverage-4.3.4/excluding.html#exclusando) – luckydonald

Cuestiones relacionadas