【问题标题】:Appveyor cannot find test coverageAppveyor 找不到测试覆盖率
【发布时间】:2017-06-05 21:12:51
【问题描述】:

我在github 上有一个小项目(.netstandard 1.0 + net45),我将它与 Appveyor 集成。 我使用 xunit 进行单元测试,使用 opencover 进行测试覆盖。 我无法让 Appveyor 提交测试结果,这是输出:

提交... 没有结果,这可能有多种原因。最常见的原因是: 1) 缺少与过滤器匹配的程序集的 PDB,请查看 输出文件并参考关于过滤器的使用指南(Usage.rtf)。 2) profiler可能没有正确注册,请参考Usage 指南和 -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% 之后)。

【问题讨论】:

    标签: xunit opencover appveyor .net-standard


    【解决方案1】:

    是的,完全是我的错。

    如果您使用 Project Properties 页面 (Visual Studio) 将 DebugType 更改为 Full,请注意,它会添加如下条件:

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

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

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

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 2019-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多