UT 覆盖率 报告 dotnet-coverage
- 安装 dotnet-coverage 和 dotnet-reportgenerator
dotnet tool install -g dotnet-coverage
dotnet tool install -g dotnet-reportgenerator-globaltool
- 运行测试, 输出XML格式:
dotnet-coverage collect -f xml -o coverage.xml dotnet test <solution/project>
例如:在测试项目文件目录 AA.BB.CC.Api.Test 下对项目文件 AA.BB.CC.Api.Test.csproj 进行测试覆盖收集
dotnet-coverage collect -f xml -o coverage.xml dotnet test ./AA.BB.CC.Api.Test.csproj
这样会在测试项目文件目录 AA.BB.CC.Api.Test 下生成 coverage.xml 文件
- 利用上一步生成的xml文件生成 html 覆盖率报告
reportgenerator -reports:"D:\SolutionDir\AA.BB.CC.Api.Test\coverage.xml" -targetdir:"coveragereport" -reporttypes:Html
- 查看报告
同目录 coveragereport 下会生成 html报告文件,打开 index.html 就会看到代码覆盖率
一般需要两个命令一起执行
dotnet-coverage collect -f xml -o coverage.xml dotnet test ./AA.BB.CC.Api.Test.csproj
reportgenerator -reports:".\coverage.xml" -targetdir:"coveragereport" -reporttypes:Html
参考:
使用 .runsettings 文件配置单元测试 - Visual Studio (Windows) | Microsoft Learn
dotnet-coverage 代码覆盖率工具 - .NET CLI - .NET | Microsoft Learn
将代码覆盖率用于单元测试 - .NET | Microsoft Learn
Usage | ReportGenerator - Code coverage reports
ReportGenerator - 多格式代码覆盖率报告生成和可视化工具 - 懂AI
Use code coverage for unit testing - .NET | Microsoft Learn