2

我有一个从 Visual Studio 2010 升级到 2012 的项目,并且 .testrunco​​nfig 文件包含在升级过程中。

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

经过一番研究后,我了解到 VS 2010 配置文件已被弃用并被 .runsettings 文件取代。看起来 VS 2012 默认强制执行装配检测,这会产生大量开销。

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

有谁知道这应该怎么做?

4

2 回答 2

2

这是我从您的帖子中了解到的:

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

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

附加信息:您可以通过从 Visual Studio 开发人员命令提示符运行以下命令来确认未生成 .coverage 文件:

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

只有在测试设置中启用了覆盖率时,才会生成覆盖率文件。

于 2012-11-12T06:59:55.143 回答
0

代码覆盖仅通过使用数据驱动适配器的测试资源管理器启用。通过测试资源管理器运行的测试的元数据与直接从单元测试会话窗口运行的测试几乎完全不同。您是否尝试过直接从代码(MSTest gui 气泡)或单元测试会话窗口直接运行它?

于 2012-11-09T03:52:19.030 回答