将最后生成的 .Coverage 转换为 TFS 2017 中 SonarQubee 的 coveragexml
Posted
技术标签:
【中文标题】将最后生成的 .Coverage 转换为 TFS 2017 中 SonarQubee 的 coveragexml【英文标题】:Convert the last generated .Coverage into coveragexml for SonarQubee in TFS 2017 【发布时间】:2020-05-14 16:06:07 【问题描述】:我正在使用 .Net Core Test --collect "Code coverage"
生成覆盖文件,我需要将其转换为 sonarqube,问题是我没有将生成的文件的名称放在带有 guid 的文件夹中名称和文件名本身就是一个 GUID,都在 TestResults
文件夹下
以下脚本用于将.coverage
文件转换为coveragexml
,但它适用于整个工作目录
Get-ChildItem -Recurse -Filter "*.coverage" | %
$outfile = "$([System.IO.Path]::GetFileNameWithoutExtension($_.FullName)).coveragexml"
$output = [System.IO.Path]::Combine([System.IO.Path]::GetDirectoryName($_.FullName), $outfile)
"Analyse '$($_.Name)' with output '$outfile'..."
. "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Team Tools\Dynamic Code Coverage Tools\codecoverage.exe" analyze /output:$output $_.FullName
但这会转换整个目录,几天后有很多构建,我想做的只是转换当前构建生成的.coverage
文件,所以我需要能够隔离生成的.coverage
文件按当前构建。
【问题讨论】:
【参考方案1】:所以你只想取最后一个创建的代码覆盖率文件,你可以过滤Get-ChiledItem
结果得到最后一个:
Get-ChildItem -Recurse -Filter "*.coverage" | sort LastWriteTime | select -last 1
【讨论】:
以上是关于将最后生成的 .Coverage 转换为 TFS 2017 中 SonarQubee 的 coveragexml的主要内容,如果未能解决你的问题,请参考以下文章
尝试从 Excel 2013 批量导入到 TFS 时,如何将我的平面列表转换为树列表?
Maven Cobertura 插件不生成coverage.xml
怎么合并Jacoco的Code Coverage Report
将 PCOV 与 --coverage 一起使用时,代码接收测试失败