我正在尝试在Windows Server 2008 R2计算机上使用MSTest运行OpenCover并始终获得空结果:
c:\ OpenCover> OpenCover.Console.exe -register:user -target:“C:\ Program 文件(x86)\ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ MsTest.exe“ -targetdir:“c:\ MyApp \ bin”-targetargs:/testcontainer:"C:\MyApp\Tests\bin\UnitTests.dll“-output:c:\ cover.xml
Microsoft(R)测试执行命令行工具版本11.0.51106.1
版权所有(c)Microsoft Corporation。保留所有权利。
请指定要运行的测试,或指定要发布的/ publish开关 结果
对于切换语法,请键入“MSTest / help”
...犯下
无结果 - 没有检测到与提供的过滤器匹配的程序集 这可能是由于缺少与过滤器匹配的程序集的PDB 请查看输出文件并参阅使用指南(Usage.rtf)
PDB文件存在于指定的文件夹中,并且使用regsvr(x64和x86)注册了探查器DLL。已安装Microsoft Visual C ++ 2010 Redistributable Package。安装.NET framework 3.5,4.5。 我试图在没有管理员权限的情况下运行它...
同时它在安装了VS 2012的win7 x64机器上完美运行,所以我想我错过了一些依赖,或者这是一个安全问题。
删除引号和空格后,我收到了更好的结果,但仍然没有代码覆盖:
答案 0 :(得分:2)
哪个版本的OpenCover?
The latest version should not require "Microsoft Visual C++ 2010 Redistributable Package"
如果您使用resvr32注册了程序集,那么您不需要-register:user
开关。
由于看起来测试没有运行,看起来你传递的参数不正确("-targetargs: /target..."
之间的空格,请尝试:
"-targetargs:/testcontainer:C:\MyApp\Tests\bin\UnitTests.dll"