¿Cómo puedo obtener el código de la cobertura de datos de Python BDD funcional mediante pruebas de Comportarse?

StackOverflow https://stackoverflow.com//questions/23019740

Pregunta

No he visto una respuesta para esta pregunta específica (La cobertura de las pruebas de la herramienta para Comportarse en el marco de prueba) y no he visto a resultados de búsqueda de Google producir una respuesta suficiente.Por lo tanto...

¿Cómo puedo obtener un código de informe de cobertura de Comportarse?Me resulta difícil creer que no hay desarrolladores de Python uso de BDD metodología y me parece aún más difícil de creer que los desarrolladores de Python que utiliza BDD están haciendo sin el código de la cobertura de las estadísticas de sus pruebas funcionales.Puede Coverage.py se utiliza para la unidad de Comportarse para producir la cobertura de código?Cómo?

¿Fue útil?

Solución

No sé cómo usarla, pero usé pepino para BDD, que creo que probablemente sea casi similar.Y así creo que deberías poder ser capaz de comportarse con la cobertura.Tienes que especificar qué archivo incluir en el archivo. (Lo usé con pepino).Vea si este podría ayudar.

Espero que esta respuesta sea su pregunta :)

# .coveragerc to control coverage.py
[run]
parallel = True

# if you want to include tests append tests/*
include =
    src/*
    *src*

[paths]
source =
    src/
    */src

tests =
    tests/
    */tests

Otros consejos

Siguiendo adelante de la sugerencia de David arriba.

Suponiendo que el código que se va a probar está en un directorio de aplicaciones, agregue lo siguiente a su archivo .coveragerc :

[run]
source=app/

de la terminal:

coverage run $(which behave);

Puede usar el informe de cobertura o la cobertura HTML de forma normal.Si no especifica la solicitud de la aplicación en su archivo .coveragerc , la cobertura probará todas las bibliotecas de Python local a su instalación de comportamiento.

Se comportan puede generar junit cobertura de datos y la paquete de cobertura puede combinar los datos de varias tandas de pruebas, así como la producción de un informe HTML que usted puede leer o publicar automáticamente en el CI medio ambiente.

Aquí están las declaraciones que uso actualmente para producir, se combinan y se informe sobre la cobertura de comportarse:

cd your/repo/tests  # <-- Make sure you're inside your tests dir!
rm -rf behave-reports/*
behave --junit --junit-directory behave-reports
coverage combine
coverage html

El rm -rf behave-reports/* con fuerza elimina todo el interior del comportan-informes/ directorio, de modo que estoy garantizado, ya sea un nuevo informe de cobertura o nada en absoluto (la producción de un fallo en el CI, en mi caso).Tenga en cuenta que si ejecuta las pruebas localmente usted querrá agregar una entrada a su .gitignore archivo (o equivalente), de modo que usted no son la adición y cometer los resultados de su prueba.

Ejecución de comportarse con --junit se producen junit salida, mientras que la --junit-directory la bandera dice comportan donde escribir que junit datos en el disco.

Ejecución coverage combine come todos los de la cobertura de código y que combina en un único archivo de cobertura.

Finalmente, coverage html produce un bonito informe html que incluye todos los de la combinación de los datos de cobertura.

Otra opción, la cobertura de uso para ejecutar comportan principal del script:

coverage run /path/to/lib/python2.7/site-packages/behave/__main__.py

Por supuesto, deberás especificar en su .coveragerc que los archivos de origen que desea incluir.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top