0

我正在尝试在 Windows Server 2008 R2 机器上使用 MSTest 运行 OpenCover,但总是得到空结果:

c:\OpenCover>OpenCover.Console.exe -register:user -target:"C:\Program Files (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) 微软公司。版权所有。

请指定要运行的测试,或指定 /publish 开关以发布结果。

对于开关语法,键入“MSTest /help”

提交...

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

PDB 文件存在于指定文件夹中,探查器 DLL 使用 regsvr(x64 和 x86)注册。已安装 Microsoft Visual C++ 2010 Redistributable Package。.NET 框架 3.5、4.5 已安装。我尝试在有和没有管理员权限的情况下运行它......

同时它在我安装了 VS 2012 的 win7 x64 机器上完美运行,所以我想我错过了一些依赖关系,或者这是一个安全问题。

删除引号和空格后,我收到了更好的结果,但仍然没有代码覆盖:

在此处输入图像描述

4

1 回答 1

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"

于 2013-02-06T00:38:35.560 回答