Coverlet 在文件名中生成 coverage.cobertura.xml 空源完整路径
Coverlet generated coverage.cobertura.xml empty source full path in filename
它在我的大多数项目中都运行良好,但我有一个 coverage.cobertura.xml
生成如下:
<?xml version="1.0" encoding="utf-8"?>
<coverage line-rate="1" branch-rate="0.8" version="1.9" timestamp="1648222473" lines-covered="17" lines-valid="17" branches-covered="8" branches-valid="10">
<sources>
<source>/</source>
</sources>
<packages>
<package name="LoggerService" line-rate="1" branch-rate="0.8" complexity="10">
<classes>
<class name="Tickett.ObjectRenderer" filename="builds/tickett_dlls/logger_service/LoggerService/ObjectRenderer.cs" line-rate="1" branch-rate="0.8" complexity="10">
而不是像这样的东西:
<?xml version="1.0" encoding="utf-8"?>
<coverage line-rate="1" branch-rate="0.8" version="1.9" timestamp="1648222473" lines-covered="17" lines-valid="17" branches-covered="8" branches-valid="10">
<sources>
<source>/builds/tickett_dlls/logger_service/</source>
</sources>
<packages>
<package name="LoggerService" line-rate="1" branch-rate="0.8" complexity="10">
<classes>
<class name="Tickett.ObjectRenderer" filename="LoggerService/ObjectRenderer.cs" line-rate="1" branch-rate="0.8" complexity="10">
我的命令如下:
dotnet test -v=normal /p:CollectCoverage=true --logger "junit;LogFilePath=TestOutput.xml" --collect:"XPlat Code Coverage
我已经比较了我能想到的所有东西,但我终其一生都无法弄清楚是什么导致了这种细微的差异(我认为这是导致 GitLab 无法解释报告的原因)
我是通过深入研究被单的来源才弄明白的。我认为是这一行:
长篇大论;我的项目只包含一个要分析的 class,看起来确定基本路径的过程至少需要 2 classes.
我会:
- 从测试覆盖率
中删除我目前为 classes 之一设置的排除项
- 将当前正在分析的唯一 class 一分为二;或
- 在生成报告后添加一个简单的
sed
命令以“修复它”
我已经为项目中的现有问题添加了注释,以查看是否应将其视为错误,并且 if/how 我们可能会改进它的处理方式(可能只允许 argument/parameter “硬编码” source
.
它在我的大多数项目中都运行良好,但我有一个 coverage.cobertura.xml
生成如下:
<?xml version="1.0" encoding="utf-8"?>
<coverage line-rate="1" branch-rate="0.8" version="1.9" timestamp="1648222473" lines-covered="17" lines-valid="17" branches-covered="8" branches-valid="10">
<sources>
<source>/</source>
</sources>
<packages>
<package name="LoggerService" line-rate="1" branch-rate="0.8" complexity="10">
<classes>
<class name="Tickett.ObjectRenderer" filename="builds/tickett_dlls/logger_service/LoggerService/ObjectRenderer.cs" line-rate="1" branch-rate="0.8" complexity="10">
而不是像这样的东西:
<?xml version="1.0" encoding="utf-8"?>
<coverage line-rate="1" branch-rate="0.8" version="1.9" timestamp="1648222473" lines-covered="17" lines-valid="17" branches-covered="8" branches-valid="10">
<sources>
<source>/builds/tickett_dlls/logger_service/</source>
</sources>
<packages>
<package name="LoggerService" line-rate="1" branch-rate="0.8" complexity="10">
<classes>
<class name="Tickett.ObjectRenderer" filename="LoggerService/ObjectRenderer.cs" line-rate="1" branch-rate="0.8" complexity="10">
我的命令如下:
dotnet test -v=normal /p:CollectCoverage=true --logger "junit;LogFilePath=TestOutput.xml" --collect:"XPlat Code Coverage
我已经比较了我能想到的所有东西,但我终其一生都无法弄清楚是什么导致了这种细微的差异(我认为这是导致 GitLab 无法解释报告的原因)
我是通过深入研究被单的来源才弄明白的。我认为是这一行:
长篇大论;我的项目只包含一个要分析的 class,看起来确定基本路径的过程至少需要 2 classes.
我会:
- 从测试覆盖率 中删除我目前为 classes 之一设置的排除项
- 将当前正在分析的唯一 class 一分为二;或
- 在生成报告后添加一个简单的
sed
命令以“修复它”
我已经为项目中的现有问题添加了注释,以查看是否应将其视为错误,并且 if/how 我们可能会改进它的处理方式(可能只允许 argument/parameter “硬编码” source
.