La cobertura de pruebas (Test Coverage) en Flutter
a fully self-taught Deaf person and Mobile Flutter FullStack Software Engineer
LCOV es una herramienta gráfica para las pruebas de cobertura de GCC con gcov. Crea páginas HTML que contienen el código fuente anotado con información de cobertura mediante la recopilación de datos gcov de múltiples archivos fuente. LCOV soporta la medición de "Cobertura de líneas" y "Cobertura de funciones".
El informe de LCOV tiene el siguiente aspecto:

Instalación
Instalar en Ubuntu
sudo apt-get update -qq -y
sudo apt-get install lcov -y
Instalar en Mac
brew install lcov
Instalar en Windows
Se requiere:
- Chocolatey
- Perl
- LCOV
1. CHOCOLATEY
Instalar chocolatey
Ejecuta
Get-ExecutionPolicy. Si devuelve Restricted, ejecutaSet-ExecutionPolicy AllSignedoSet-ExecutionPolicy Bypass -Scope ProcessCMD (con Administrador)
@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"PowerShell (con Administrador)
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
2. PERL
Instalar Perl
choco install strawberryperlComprobar el Perl instalado
where perlSi devuelve correcta es y siguiente paso 3. LCOV:
# C:\Strawberry\perl\bin\perl.exeSi no existe, añadir la ruta perl en las variables de entorno del sistema
Nota: Un comando que cambia las variables de entorno de cmd sólo para la sesión actual de cmd
set PATH=$PATH:C:\Strawberry\perl\bin echo %path%Si lo desea, puede añadir permanentemente una ruta a PATH con el comando setx:
Advertencia:
- Haga una copia de seguridad de su PATH - SETX truncará su información de más de 1024 caracteres
- No llame a SETX %PATH%;xxx - añade la ruta del sistema en la path del usuario (SETX por defecto actualizará su ruta de usuario).
No llame a SETX %PATH%;xxx /M - añade la ruta del usuario a la ruta del sistema (SETX ... /M actualizará su ruta del sistema.)
setx /M path "%path%;C:\Strawberry\perl\bin\" echo %path%
3. LCOV
choco install lcov
Funcionamiento LCOV
1. Ejecutar la cobertura de las pruebas del proyecto Flutter para generar archivo de LCOV
flutter test --coverage
2. Generar archivos de cobertura y convertirlos en HTML
Linux/Mac
genhtml coverage/lcov.info -o coverage/html
open coverage/html/index.html
Windows
CMD or PowerShell
perl C:\ProgramData\chocolatey\lib\lcov\tools\bin\genhtml coverage/lcov.info -o coverage/html
coverage/html/index.html # Abrir reporte cobertura de prueba HTML
Git bash
perl /c/ProgramData/chocolatey/lib/lcov/tools/bin/genhtml coverage/lcov.info -o coverage/html
coverage/html/index.html # Abrir reporte cobertura de prueba HTML

