Estadísticas de cobertura usando Django Coverage

JP Juan Pablo Romero Juan Pablo Romero

Juan Pablo Romero

Software Engineer
2 min read.

En esta ocasión quiero compartir con ustedes una sencilla pero útil aplicación que nos permitirá conocer las estadísticas relacionadas con la cobertura de nuestros test en las aplicaciones que estemos desarrollando, la aplicación en cuestión es django-coverage. Esta aplicación es interesante puesto que actualmente Django es capaz de ejecutar los tests.py localmente pero no entrega estadísticas de cobertura, sin embargo esta aplicación además de ejecutar los tests es capaz de entregar un reporte resumido pero completo de la cobertura de nuestros tests.

La tabla de contenido para esta ocasión esta repartida de la siguiente manera:

  1. Instalación y configuración de Django Coverage.
  2. Ejecución de los tests y análisis de las estadísticas de cobertura.
  3. Configuraciones extras de Django Coverage

1. Instalación y configuración de Django Coverage.

Instalamos la aplicación utilizando pip.

https://gist.github.com/297fe1... Una vez instalada colocamos el siguiente valor dentro de las aplicaciones instaladas en settings.py

Estos" class="redactor-autoparser-object">https://gist.github.com/ee11f0... sencillos pasos nos permiten tener disponible el comando test_coverage, el cual nos permitirá ejecutar los tests y obtener el resultado de las estadísticas.

2. Ejecución de los tests y análisis de las estadísticas de cobertura.

A continuación se ejecuta uno de los tests de la aplicación cart, en este caso se usará: CartSaleTestCase. Esto se realiza utilizando la siguiente setencia:

https://gist.github.com/a0a8ca... El resultado de esa sentencia es el siguiente:

Result Test - Django Coverage


El resultado de los tests se divide en cuatro columnas:

  • Name: Indica el nombre de la aplicación y el fichero especifico que se esta "testeando".
  • Cover: Expresa en porcentaje la cobertura de los tests sobre cada uno de los ficheros.
  • Missing: Indica las lineas que no están cubiertas por los tests, la nomenclatura es la siguiente: numero_lineal_inicial - numero_de_linea_final

En la parte inferior de estas columnas aparece el total de cada una y debajo de estos se indica que ficheros fueron excluidos del test.


3. Configuraciones extras de Django Coverage

Gracias a los valores definidos en el archivo settings.py de django_coverage podremos modificar el comportamiento de la misma, a continuación se presentan algunas constantes que pueden ser sobreescritas:

  • COVERAGE_CODE_EXCLUDES: Indicarle a la aplicación que ficheros serán excluidos de los tests.
  • TEST_RUNNER: Usar ./manage.py test, en vez de ./manage.py test_coverage.
  • COVERAGE_REPORT_HTML_OUTPUT_DIR: Indicarle donde quiere que exporte los reportes en formato HTML.

Existen muchas opciones las cuales pueden ser examinadas desde el fichero settings.py de la aplicación.

Eso es todo por hoy, espero hayan disfrutado de esta entrada.

Nos vemos en una próxima EntryAxicore :D.


Written by Juan Pablo Romero

JP Juan Pablo Romero Juan Pablo Romero

Juan Pablo designs and builds robust software solutions with a focus on performance and usability. His problem-solving skills and attention to detail ensure high-quality and efficient applications.

Newsletter

Subscribe to our newsletter:

Read more

Animación CSS Básica

Anteriormente para hacer una animación, teníamos que hacerla bien sea con Javascript, Flash o hasta con una imagen Gif, pero ...

· 1 min read.

Paginador con drupal 7

El uso de listas es muy común en los desarrollos Web y en ocasiones estas pueden llegar a tener muchos elementos.  Una soluci...

· 1 min read.

Build Once. Own Forever.