Github actions y cobertura de pruebas unitarias en .NET Core

Github actions nos ayuda a incorporar integración continua fácil y rápida a nuestros proyecto usando un archivo YAML.

Entre las acciones que podemos incorporar a nuestro workflow se encuentra el reporte de cobertura de pruebas unitarias. Vamos a utilizar la extensión CodeCov y Coverlet para lograrlo: https://github.com/marketplace/actions/codecov

  1. Dentro de tu workflow file (.yml) agrega la ejecución de pruebas unitarias incluyendo los parámetros para obtener la cobertura usando coverlet
- name: Test
      run: dotnet test --no-restore --verbosity normal /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura

2. Agrega desde el markplace la extensión de CodeCov:

3. Agregar el paso de CodeCov a tu archivo yml escríbelo justo después que obtengas la cobertura:

- uses: codecov/codecov-action@v1
      with:
        token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos
        file: /home/runner/work/CoverletDemo/CoverletDemo/CoverletDemo/CoverletDemo.Test/coverage.cobertura.xml # optional
        flags: unittests # optional
        name: codecov-umbrella # optional
        fail_ci_if_error: true # optional (default = false)

Ten en cuenta en la propiedad “file” debes especificar la ruta donde la cobertura ha quedado generada. Puedes hacer una ejecución de prueba para verificar esa ruta que buscas.

4. Si toda la configuración es correcta puede verificar en el build la generación de la cobertura:

Al abrir el reporte generado se visualizaran los porcentajes de cobertura de cada una de las clases del proyecto