Преобразование последнего созданного покрытия. Покрытие xml для SonarQubee в TFS 2017 - PullRequest
0 голосов
/ 29 января 2020

Я использую. 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 Ответ

1 голос
/ 29 января 2020

Таким образом, вы хотите взять только последний созданный файл покрытия кода, вы можете отфильтровать результаты Get-ChiledItem, чтобы получить последний:

Get-ChildItem -Recurse -Filter "*.coverage" | sort LastWriteTime | select -last 1
...