python django code-coverage coverage.py

python - ¿Cómo puedo excluir las migraciones del Sur de los informes de cobertura utilizando cover.py?



django code-coverage (6)

Utilizo coverage.py para verificar la cobertura de prueba de mi aplicación django. Sin embargo, como utilizo South para las migraciones de mi base de datos, todos esos archivos aparecen con un 0% y estropean el porcentaje general.

Ya intenté usar --omit=*migrations* tanto en run como en report (y en ambos), pero eso no funcionó.

Probé las versiones 3.4 y la última revisión de Bitbucket a partir del 20 de diciembre de 2010 con el mismo resultado.

¿Alguna idea de cómo puedo obtener cover.py para ignorar las carpetas de migración?



Debe poder coincidir con el directorio de migraciones para omitir esos archivos. ¿Has intentado citar el argumento? Dependiendo de su sistema operativo y shell, puede estar expandiendo esos asteriscos prematuramente. Pruébalo así:

--omit=''*migrations*''

Alternativamente, puedes poner el interruptor en un archivo .coveragerc:

[run] omit = *migrations*


Esto funcionó para mí:

coverage run --source=''.'' --omit=''*/migrations/*.py'' manage.py test


La última versión de django-jenkins tiene la nueva opción COVERAGE_WITH_MIGRATIONS que excluiría las migraciones. Aún no está en PyPI, por lo que debe instalarlo con pip / easy_install specyfing url git url como fuente.


La solución fue:

[run] omit = ../*migrations*


tratar:

coverage run --source=. manage.py test app_name

Esto ignora el código de terceros y soluciona tu% de problema