12.6.6 Generando el reporte living doc de specflow

Specflow cuenta con un reporte llamado Living doc en el cual se muestra los pasos de tus pruebas y puede incluir los resultados del test

Si desactivas el switch solamente se muestran los pasos en gherkin. Puedes seleccionar en el ejemplo por el combo o con el switch

Se puede agregar una extensión a Azure DevOps para mostrar los resultados y en la sección de analytics se ven los resultados resumidos.

Configurando Specflow living doc en tu computadora

También puedes generar los reportes con CLI desde tu computadora.

  1. Instala la herramienta desde línea de comandos.

 dotnet tool install --global SpecFlow.Plus.LivingDoc.CLI

2. Ejecuta los tests para que se genere un archivo TestExecution.json

3. Ejecuta la herramienta puede ser con la dll generada en el debug/release.

livingdoc test-assembly C:\Work\CaducaRest.IntegrationTest\bin\Debug\net6.0\CaducaRest.IntegrationTest.dl

Puedes ver la documentación oficial https://docs.specflow.org/projects/specflow-livingdoc/en/latest/LivingDocGenerator/Generating-Documentation.html

Configurando Specflow living doc en Azure Devops

  1. Da clic en el market place desde Azure Devops.

2. Busca por la palabra specflow y selecciona SpecFlow+LivingDoc.

3. Se muestra una página con la documentación. Da clic en Get it free.

Selecciona la organización en este caso wb1521 y da clic en Install. Se incluye la opción download por si tu empresa tiene un servidor propio (on-prem) con el azure devops server instalado.

Si todo es correcto, se muestra la siguiente imagen. Da clic en Proceed to organization para regresar a Azure Devops.

Ve a la opción de Pipelines y edita tu Pipeline. Agrega un renglón después del task de integration testing. En la sección de search busca Specflow y selecciona SpecFlow+LivingDoc.

Agrega los siguientes detalles

  • Source: Selecciona Test assembly para probar la dll que contiene todos los test de specflow.

  • Test assembly: Selecciona el path donde esta la dll. En este ejemplo es: $(Build.SourcesDirectory)/CaducaRest.IntegrationTest/bin/Debug/net6.0/CaducaRest.IntegrationTest.dll

  • Test Execution JSON paths: Selecciona el path donde se genera el json en este caso es $(Build.SourcesDirectory)/CaducaRest.IntegrationTest/bin/Debug/net6.0/TestExecution.json

  • Project Language: Selecciona Spanish

El código generado para este task es:

- task: SpecFlowPlus@0
  displayName: Specflow plus
  condition: always()
  inputs:
    generatorSource: 'TestAssembly'
    testAssemblyFilePath: '$(Build.SourcesDirectory)/CaducaRest.IntegrationTest/bin/Debug/net6.0/CaducaRest.IntegrationTest.dll'
    projectName: 'Integration'
    testExecutionJson: '$(Build.SourcesDirectory)/CaducaRest.IntegrationTest/bin/Debug/net6.0/TestExecution.json'
    projectLanguage: 'es'

Configurando Specflow living doc en Github Actions

Se pueden agregar pasos en Github actions para mostrarlo como Github pages de esta forma se tiene el último resultado de las pruebas.

Puedes publicar el resultado del test en el pipeline en la opción de github pages para tener el último estado de los test en una página web. https://apis3445.github.io/CaducaRest/#/document/Standalone

Para mayor información sobre las opciones para publicar sigue esta guía

https://github.com/peaceiris/actions-gh-pages

Esta github action te publica un artifact en una branch gh-pages. Luego puedes seguir esta guía para configurar que tu github pages se publique automáticamente desde una branch

https://docs.github.com/en/pages/quickstart Puedes practicar y consultar mi solución en el código de ejemplo en github. https://github.com/apis3445/CaducaRest/blob/master/.github/workflows/dotnet.yml

Last updated