У меня есть проект, который содержит реализацию функций Azure.Я создал модульные тесты, используя xUnit для этого в качестве другого проекта в том же решении.Я добавил сценарий powershell на уровне решения для запуска opencover exe.Но скрипт выдает ошибку «OpenCover.Console.exe: указанная версия платформы 2.0 не может быть проанализирована».Как я могу использовать открытую обложку, чтобы получить покрытие кода для того же.Моя структура папок
--PM(folder)
--PM.sln
--PM(folder)
--PMTests(folder)
--TestsAndCoverage.ps1
Мои тестыAndCoverage.ps1 имеют следующее содержимое.
$testProjects = "PMTests"
# Get the most recent OpenCover NuGet package from the dotnet nuget packages
$nugetOpenCoverPackage = Join-Path -Path $env:USERPROFILE -ChildPath "\.nuget\packages\OpenCover"
$latestOpenCover = Join-Path -Path ((Get-ChildItem -Path $nugetOpenCoverPackage | Sort-Object Fullname -Descending)[0].FullName) -ChildPath "tools\OpenCover.Console.exe"
# Get the most recent OpenCoverToCoberturaConverter from the dotnet nuget packages
$nugetCoberturaConverterPackage = Join-Path -Path $env:USERPROFILE -ChildPath "\.nuget\packages\OpenCoverToCoberturaConverter"
$latestCoberturaConverter = Join-Path -Path (Get-ChildItem -Path
$nugetCoberturaConverterPackage | Sort-Object Fullname -Descending)[0].FullName -ChildPath "tools\OpenCoverToCoberturaConverter.exe"
If (Test-Path "$PSScriptRoot\OpenCover.coverageresults"){
Remove-Item "$PSScriptRoot\OpenCover.coverageresults"
}
If (Test-Path "$PSScriptRoot\Cobertura.coverageresults"){
Remove-Item "$PSScriptRoot\Cobertura.coverageresults"
}
& dotnet restore
$testRuns = 1;
foreach ($testProject in $testProjects){
# Arguments for running dotnet
$dotnetArguments = "xunit", "-xml `"`"$PSScriptRoot\testRuns_$testRuns.testresults`"`""
"Running tests with OpenCover"
& $latestOpenCover `
-register:user `
-target:dotnet.exe `
-targetdir:$PSScriptRoot\$testProject `
"-targetargs:$dotnetArguments" `
-returntargetcode `
-output:"$PSScriptRoot\OpenCover.coverageresults" `
-mergeoutput `
-oldStyle `
-excludebyattribute:System.CodeDom.Compiler.GeneratedCodeAttribute `
"-filter:+[Sample*]* -[*.Tests]* -[*.Tests.*]*"
$testRuns++
}
"Converting coverage reports to Cobertura format"
& $latestCoberturaConverter `
-input:"$PSScriptRoot\OpenCover.coverageresults" `
-output:"$PSScriptRoot\Cobertura.coverageresults" `
"-sources:$PSScriptRoot"