【问题标题】:OpenCover - cannot find PDBOpenCover - 找不到 PDB
【发布时间】:2013-01-17 15:01:33
【问题描述】:

我无法让 OpenCover 正常工作

我有以下文件夹结构

  • \工具
  • \Tools\Nunit
  • \Tools\OpenCover
  • \Buildartifacts

当我的代码编译时,所有编译后的代码都会生成到 BuildArtifacts 文件夹中。这包括 dll 和相应的 .pdb 文件

我正在努力让 OpenCover 运行

在 powershell 中,我从根文件夹输入以下命令:

.\tools\OpenCover\OpenCover.Console.exe -register:user -target:.\tools\nunit\nunit-console.exe -targetargs:".\buildartifacts\MVCControllerTests.dll /noshadow" -filter:+[*]* -output:.\coverage.xml

但是我不断收到消息: 提交...

没有结果 - 没有与提供的过滤器匹配的程序集 仪表化 这可能是由于缺少与过滤器匹配的程序集的 PDB 请查看输出文件并参考使用指南 (Usage.rtf)

我查看了 OpenCover/NUnit can't find PDB files,并且我的 targetargs 中有 /noshadow 开关

我试图将 /noshadow 移动为 targetargs 中的第一个,但随后我从 nunit 收到错误

我还更新了 nunit-console.exe.config 并将以下行添加到启动节点,以确保所有测试都在 .net4 而不是 .net3.5 中执行

但这没什么区别。

当我查看 coverage.xml 文件时,即使我有 noshadow 标志,nunit 似乎仍然在执行 shadowcopy

例如,这是存在的:

C:\Users\darren\AppData\Local\Temp\nunit20\ShadowCopyCache\10344_634940293912865718\Tests_275832668\assembly\dl3\db34ecee\a0f236ee_a7f4cd01\TABusinessInterface.DLL

感谢任何帮助。

【问题讨论】:

    标签: opencover nunit-console


    【解决方案1】:

    OpenCover WIKI 指出,在使用 PowerShell 时,您应该将整个参数用引号括起来,即

    -targetargs:".\buildartifacts\MVCControllerTests.dll /noshadow"
    

    变成

    "-targetargs:.\buildartifacts\MVCControllerTests.dll /noshadow"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多