如何在 Visual Studio 2012 中禁用代码覆盖率/程序集检测?

问题描述 投票:0回答:2

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

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

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

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

有人知道该怎么做吗?

unit-testing visual-studio-2012 mstest code-coverage microsoft-test-manager
2个回答
0
投票

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

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

您的场景中默认情况下不启用代码覆盖率检测。如果您从 VS 进行“分析代码覆盖率”,则会对二进制文件进行检测。

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

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

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


-1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.