2017-06-04 187 views
0

我在0123vey上有一個小項目(.netstandard 1.0 + net45),它與Appveyor集成在一起。 我使用xunit進行單元測試和opencover進行測試覆蓋。 我不能讓Appveyor提交測試結果,這裏是輸出:Appveyor找不到測試覆蓋

犯下...... 沒有結果,這可能是多種原因。最常見的原因是: 1)缺少與過濾器匹配的程序集的PDB,請查看 輸出文件並參考有關過濾器的使用指南(Usage.rtf)。 2)探查器可能沒有正確註冊,請參考使用指南和-register開關 。

這裏是我的腳本:

- .\tools\OpenCover.4.6.519\tools\OpenCover.Console.exe \ -target:"c:\Program Files\dotnet\dotnet.exe" \ -targetargs:"test -f netcoreapp1.1 -c %CONFIGURATION% Giver.Tests/Giver.Tests.csproj" \ -mergeoutput \ -hideskipped:File \ -output:opencoverCoverage.xml \ -oldStyle \ -filter:"+[Giver*]* -[Giver.*Tests*]*" \ -searchdirs:Giver.Tests/bin/%CONFIGURATION%/netcoreapp1.1 \ -register:user

DEBUGTYPE充滿了對所有項目。

我大概嘗試了OpenCover.Console參數的大部分組合。

相同的腳本在我的機器上工作(替換%CONFIGURATION%後)。

回答

0

是的,這完全是我的錯誤。

如果更改DEBUGTYPE使用項目屬性頁(Visual Studio中),謹防,它會添加一個條件是這樣的:

<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> 

我使用的版本配置Appveyor建設,所以這個條件將不會被滿足,便攜式.pdb將被生成(opencover僅適用於Full .pdb)。

刪除這個條件後,一切工作正常。