我在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%之后)。
答案 0 :(得分:0)
是的,这完全是我的错误。
如果使用项目属性页面(Visual Studio)将 DebugType 更改为完整,请注意,它将添加如下条件:< / p>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
我正在使用Appveyor构建的发布配置,因此不会满足此条件,并且将生成可移植的.pdb(opencover仅适用于 Full .pdb)。
删除此条件后,一切正常。