2

我有一个从Visual Studio 2010升级到2012的项目,并且.testrunco​​nfig文件包含在升级过程中。如何在Visual Studio 2012中禁用代码覆盖/装配检测?

我注意到可以在我运行的任何单元测试上单击“分析代码覆盖率”,它会正确显示结果。但是,我的测试运行配置(最初来自VS 2010)禁用了代码覆盖范围。

经过一番研究后,我了解到VS 2010配置文件已被弃用,并被替换为.runsettings文件。看起来,VS 2012默认会执行程序集检测,这会带来大量的开销。

因此,我想知道我如何禁用VS 2012中的代码覆盖率。基于我目前的发现,它似乎不是一个繁杂的任务。我阅读的最近一篇文章让我手动创建一个XML文件,并将其命名为“MYCONFIGURATION.runsettings”并手动操作XML属性值。

有谁知道这应该怎么做?

+0

是的,你应该添加一个runsettings文件。您可以在http://msdn.microsoft.com/en-us/library/jj159530.aspx上找到详细信息。 –

+0

感谢您的回复。我原本做的研究使我走向了runsettings文件的路径。代码覆盖默认情况下是启用的,并且在VS2012中没有简单的GUI操作来禁用它,这似乎很奇怪。代码覆盖/工具是一个非常“昂贵”的构建操作,所以它让我惊讶,为什么微软默认启用它。这几乎就像他们希望你使用NUnit :) –

回答

0

代码覆盖率只能通过使用数据驱动适配器的测试浏览器启用。通过测试浏览器运行的测试的元数据几乎完全不同于从单元测试会话窗口直接运行的测试。你是否试过直接从代码(MSTest GUI泡泡)或单元测试会话窗口直接运行它?

2

这是我从您的文章理解:

  • 您有.testsettings文件测试项目。您尚未在测试设置中启用代码覆盖。

在您的方案中,默认情况下未启用代码覆盖检测。如果您从VS分析“代码覆盖率”,则会安装二进制文件。

附加信息: 可以确认是不是从Visual Studio开发人员命令提示符下运行以下命令生成的文件.coverage:

vstest.console.exe /Settings:<your test settings file> test.dll 

如果您在启用覆盖覆盖文件将只得到产生测试设置。

相关问题