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

Tim*_*mwi 11 unit-testing code-coverage visual-studio

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

  1. 我已经按照本页面上的说明进行操作,即测试配置确实在代码覆盖率选项页面上检查了相关的程序集.
  2. 我点击了"运行测试",而不是 "调试测试",一些消息来源声称这导致了这一点.
  3. 我已经尝试将当前构建配置设置为"Debug"或"Release"来运行测试; 既不起作用.
  4. 我也按照这个页面上的建议(通过选择Test => Select Active Test Run Configuration重新选择testrunco​​nfig文件),但无济于事.

然而,每次运行相关测试时,我仍然会收到"此测试运行未启用代码覆盖率"的消息.如何一劳永逸地启用代码覆盖?

Mar*_*ell 3

我曾经在 MSTest 中遇到很多困难(包括代码覆盖率)与 MSTest 作斗争 - 坦率地说,它*并没有完全让生活变得轻松 - 特别是额外的 testrunco​​nfig 等复制了很多已经存在的东西csproj。

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

替代文本
(来源:mutantdesign.co.uk

这将使用您现有的测试框架(包括 MSTest),但它将跳过所有常见的环节来启用测试覆盖率,而无需您搞乱配置。它甚至可以与源代码着色一起使用(红色/蓝色未经测试/测试等)。便利。

*=工具本身以及 GUI 集成