Capítulo 05: Code Coverage
Ejercicios Prácticos
Cobertura de código con Coverlet y ReportGenerator.
| Nivel | Ejercicio | Descripción |
|---|---|---|
| Básico | Configura cobertura | Crear/reutilizar tests/ChaloStore.UnitTests. Instalar coverlet.collector. Generar lcov.info y abrir en VS Code con Coverage Gutters. Anotar 3 líneas no cubiertas y escribir tests para cubrirlas. |
| Intermedio | Line vs Branch | Implementar regla en PricingService (descuentos escalonados) con varias condiciones. Observar cómo aumenta line coverage pero branch puede quedarse bajo. Aumentar pruebas para subir branch coverage. |
| Avanzado | Pipeline básico | Crear workflow en GitHub Actions que ejecute ChaloStore.UnitTests, genere cobertura y suba HTML como artifact. |
Comandos Útiles
# Generar lcov
dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=lcov
# Generar HTML con ReportGenerator
reportgenerator -reports:./coverage/coverage.opencover.xml \
-targetdir:./coverage-report -reporttypes:Html
Recursos Adicionales
- Tests de ejemplo: ChaloStore.UnitTests
- Documentación del capítulo: 05-code-coverage.md