Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 为什么Visual Studio在启用时会说“此测试运行的代码覆盖率未启用”?_Visual Studio_Unit Testing_Code Coverage - Fatal编程技术网

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

Visual studio 为什么Visual Studio在启用时会说“此测试运行的代码覆盖率未启用”?,visual-studio,unit-testing,code-coverage,Visual Studio,Unit Testing,Code Coverage,在VisualStudio中,我刚刚创建了一个简单的单元测试来测试我编写的方法。我想检查代码覆盖率,但“代码覆盖率”窗口仅指出此测试运行未启用代码覆盖率。为什么?注: 我已经按照上的说明进行了操作,即测试配置在“代码覆盖率选项”页面上检查了相关程序集。 我点击了RunTest,而不是Debug test,一些消息来源声称这是由它引起的。 我已经尝试在当前构建配置设置为Debug或Release的情况下运行测试;两者都不起作用。 我还按照重新选择testrunconfig文件的建议,选择Test=

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

我已经按照上的说明进行了操作,即测试配置在“代码覆盖率选项”页面上检查了相关程序集。 我点击了RunTest,而不是Debug test,一些消息来源声称这是由它引起的。 我已经尝试在当前构建配置设置为Debug或Release的情况下运行测试;两者都不起作用。 我还按照重新选择testrunconfig文件的建议,选择Test=>selectactivetestrunconfiguration,但没有效果。
然而,每次运行相关测试时,我仍然会收到这样一条消息:没有为此测试运行启用代码覆盖率。如何一劳永逸地启用代码覆盖率?

查看此页面,看看这是否有帮助:


他甚至在设置了你提到的配置文件,这个问题与GAC上的程序集有关。

< P>如果这是C++项目,请确保启用了概要文件。打开项目属性->链接->高级。查找配置文件并将其设置为启用配置文件信息/配置文件。

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

我曾经在很多领域与MSTest抗争,包括代码覆盖率——坦率地说,它并没有特意让生活变得简单——特别是在额外的testrunconfig等复制了csproj中已经存在的很多东西的情况下

无论如何;然后,我发现TestDriven.NET内置了此功能,只要您拥有包含MSTest和coverage的Visual Studio的正确版本:

资料来源:

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


*=工具本身和GUI集成

在我的例子中,当我质疑这个问题时,在测试->选择活动测试运行配置菜单下没有可用的测试运行配置。 我删除/添加了.testrunconfig文件,代码覆盖率又回来了。
VS2005团队版

请从线程标题中删除[Visual Studio],标记用于识别问题,而不是标题。标题应该是问题的摘要,而不是它的上下文。我的理解是VS有两个版本:professional和enterprise,在professional版本中没有代码覆盖率。您有企业版吗?您正在运行哪个版本的Visual Studio?它代表全局程序集缓存。我不知道你的项目是否使用了它,但这只是一种可能性。您可以尝试强制组装所有内容,删除当前DLL和对象,然后在启用评测的情况下重新构建。