为什么Visual Studio在启用时会说“代码覆盖率未启用此测试运行”?

时间:2009-09-11 17:17:19

标签: visual-studio unit-testing code-coverage

在Visual Studio中,我刚刚创建了一个简单的单元测试来测试我编写的方法。我想检查代码覆盖率,但代码覆盖率窗口只表示“未对此测试运行启用代码覆盖率”。为什么?注意:

  1. 我已经按照this page上的说明操作了,即测试配置确实在代码覆盖率选项页面上检查了相关的程序集。
  2. 我点击了“运行测试”,没有“调试测试”,一些消息来源称这导致了这一点。
  3. 我尝试将当前构建配置设置为“Debug”或“Release”来运行测试;既不起作用。
  4. 我还跟踪了this page上的建议(通过选择Test =>选择Active Test Run配置重新选择testrunco​​nfig文件),但无济于事。
  5. 然而,每次运行相关测试时,我仍然会收到“此测试运行未启用代码覆盖率”的消息。如何一劳永逸地启用代码覆盖?

5 个答案:

答案 0 :(得分:3)

我过去常常在一个很多的领域(包括代码覆盖)中与MSTest斗争 - 坦率地说,它*并不完全是为了让生活更轻松 - 特别是额外的testrunco​​nfig等复制了csproj中的很多东西。

反正;比我发现TestDriven.NET内置了这个(只要你有正确版本的Visual Studio来包含MSTest和覆盖):

alt text
(来源:mutantdesign.co.uk

这将使用您现有的测试框架(包括MSTest),但它会跳过所有常规的箍,以启用测试覆盖,而无需弄乱配置。它甚至适用于源代码着色(红色/蓝色未经测试/测试等)。方便。

* =工具本身和GUI集成

答案 1 :(得分:2)

看一下这个页面,看看是否有帮助: Tips on Using Code Coverage in Visual Studio 2005

即使在设置了您提到的配置文件后,他也遇到了问题,该问题与位于GAC上的程序集有关。

答案 2 :(得分:0)

如果这是针对c ++项目的,请确保已启用分析。打开您的项目属性 - >链接 - >高级。查找配置文件并将其设置为启用配置文件信息(/ PROFILE)。

答案 3 :(得分:0)

确保从“测试视图”或“测试列表”窗口运行测试...而不是从测试结果窗口运行。从测试结果窗口中重新运行测试并不总是符合您的测试运行配置设置。

答案 4 :(得分:0)

在我的情况下,当我质疑这个问题时,我在Test->Select Active Test Run Configuration菜单下“没有可用的测试运行配置”。
我删除/添加了.testrunconfig文件,代码覆盖率又回来了 (VS2005团队版)