diff --git a/README.md b/README.md index 39bdfa6..3a61616 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,27 @@ dotnet test tests/SIGCM2.Api.Tests # integration (requiere SIGCM2_ cd src/web && npx vitest run ``` +### Coverage (backend) + +```bash +# Generar reporte de coverage en formato Cobertura +dotnet test --collect:"XPlat Code Coverage" --settings coverlet.runsettings --results-directory ./TestResults +``` + +El comando genera un `coverage.cobertura.xml` por cada proyecto de test en `./TestResults/`. + +Para convertirlo a HTML: + +```bash +# Instalar ReportGenerator (solo la primera vez) +dotnet tool install -g dotnet-reportgenerator-globaltool + +# Generar reporte HTML +reportgenerator -reports:"./TestResults/**/coverage.cobertura.xml" -targetdir:"./coverage-report" -reporttypes:Html +``` + +Abrí `./coverage-report/index.html` en el browser para ver el detalle por archivo. + ## Convenciones - Ramas: `feature/UDT-XXX` desde `main`. diff --git a/coverlet.runsettings b/coverlet.runsettings new file mode 100644 index 0000000..dba2fca --- /dev/null +++ b/coverlet.runsettings @@ -0,0 +1,48 @@ + + + + + + 1 + + + + + + + + cobertura + + + GeneratedCodeAttribute,ExcludeFromCodeCoverageAttribute + + + + + [*.Migrations]*, + + [*.Tests]*, + [SIGCM2.TestSupport]*, + + [SIGCM2.Api]Program, + + [*]*.Extensions.*Extensions, + [*]*.DependencyInjection + + + + true + + + false + + + false + + + + +