Powershell 将TFS 2017中最后生成的.Coverage转换为SonarQubee的Coverage XML
我正在使用.Net Core TestPowershell 将TFS 2017中最后生成的.Coverage转换为SonarQubee的Coverage XML,powershell,tfs,azure-devops,sonarqube,tfsbuild,Powershell,Tfs,Azure Devops,Sonarqube,Tfsbuild,我正在使用.Net Core Test--收集“代码覆盖率”来生成覆盖率文件,我需要将其转换为sonarqube,问题是我没有导航生成的文件的名称,因为它放置在一个具有guid名称的文件夹中,而文件名本身是一个guid,所有这些都位于TestResults文件夹下 下面的脚本用于将.coverage文件转换为coverage xml,但它适用于整个工作目录 Get-ChildItem -Recurse -Filter "*.coverage" | % { $outfile = "$([Syste
--收集“代码覆盖率”
来生成覆盖率文件,我需要将其转换为sonarqube,问题是我没有导航生成的文件的名称,因为它放置在一个具有guid名称的文件夹中,而文件名本身是一个guid,所有这些都位于TestResults
文件夹下
下面的脚本用于将.coverage
文件转换为coverage xml
,但它适用于整个工作目录
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
文件。所以您只需要最后创建的代码coverage文件,您可以过滤Get ChiledItem
结果以获取最后一个:
Get-ChildItem -Recurse -Filter "*.coverage" | sort LastWriteTime | select -last 1