Appveyor无法找到测试覆盖率

时间:2017-06-04 16:43:53

标签: xunit opencover appveyor .net-standard

我在github上有一个与Appveyor集成的小项目(.netstandard 1.0 + net45)。 我正在使用xunit进行单元测试,并使用opencover进行测试覆盖。 我无法让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%之后)。

1 个答案:

答案 0 :(得分:0)

是的,这完全是我的错误。

如果使用项目属性页面(Visual Studio)将 DebugType 更改为完整,请注意,它将添加如下条件:< / p>

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

我正在使用Appveyor构建的发布配置,因此不会满足此条件,并且将生成可移植的.pdb(opencover仅适用于 Full .pdb)。

删除此条件后,一切正常。