我在使OpenCover工作时遇到一些麻烦
我有以下文件夹结构
当我的代码编译时,所有编译的代码都会生成到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中执行
< supportedRuntime version =“v4.0.30319”>
但这没有任何区别。
当我查看coverage.xml文件时,即使我有noshadow标志,仍然看起来nunit正在进行shadowcopy
例如,这存在:
C:\ Users \用户的Darren \应用程序数据\本地\ TEMP \ nunit20 \ ShadowCopyCache \ 10344_634940293912865718 \ Tests_275832668 \组件\ DL3 \ db34ecee \ a0f236ee_a7f4cd01 \ TABusinessInterface.DLL
感谢任何帮助。
答案 0 :(得分:4)
OpenCover WIKI注意到使用PowerShell时应将整个参数用引号括起来,即
-targetargs:".\buildartifacts\MVCControllerTests.dll /noshadow"
变为
"-targetargs:.\buildartifacts\MVCControllerTests.dll /noshadow"