【问题标题】:Code coverage test in Visual Studio 2010? How?Visual Studio 2010 中的代码覆盖率测试?如何?
【发布时间】:2010-05-29 20:24:33
【问题描述】:

我在 C#.NET 上有一个简单的项目,并在 Visual Studio 2010 中编写了它。我是 C# 和 Visual Studio 的新手。

我已经编写了一些单元测试,并且它们通过了,但是如何测试代码覆盖率?

提前致谢。

【问题讨论】:

  • 你用的是什么测试框架?
  • 好吧,我使用 VS2010 中的“创建单元测试”菜单创建了单元测试。我应该使用 NUnit 吗?
  • 我个人使用 NUnit,但这只是我的选择。我发现 MSTest 用户体验有点混乱。我会给你一个适用于 NUnit 和 MSTest 的答案。 :)

标签: c# visual-studio-2010 code-coverage


【解决方案1】:

我使用 NUnit 作为我的测试框架,并使用 TestDriven.Net 来运行 VS2010 的代码覆盖率。这也适用于 MSTest,即 Visual Studio 测试。首先你需要掌握TestDriven.Net:

http://www.testdriven.net/download.aspx

安装 TestDriven.Net 后,您会在解决方案资源管理器上下文菜单中添加一些额外的项目,例如右键单击一个项目,您将在“Test With”下拥有一些 TestDriven 选项。其中一个选项是“覆盖率”,它将使用代码覆盖率运行您的单元测试,然后显示代码覆盖率结果窗口。效果很好。

更新

当然,如果你有一个真正支持它的版本,即 Premium 或 Ultimate,你只能在 Visual Studio 2010 中获得代码覆盖率。

【讨论】:

  • 请注意,VS/MSTest coverage 工具并未包含在所有 VS SKU 中(或者至少以前不包含)。 TestDriven,NET 如果它们不在安装版本中,则无法使用它们。
  • 啊,是的,好点子。我没有想到这一点。我正在使用 Ultimate,所以我得到了所有的花里胡哨。 :)
【解决方案2】:
  1. 在解决方案树的解决方案项目文件夹下,创建一个新测试 设置文件。 (TestSettings1.testsettings)

  2. 在“测试设置”对话框屏幕中,选择 Data and Diagnostics 左边。然后检查启用代码覆盖率

  3. 在同一屏幕上,双击代码覆盖率,然后检查您要测试的 .dll。点击应用。

  4. 在 Visual Studio 菜单中,选择测试、运行、解决方案中的所有测试

  5. 测试运行后,在 Visual Studio 菜单中,选择 Test, Windows..., 代码覆盖率结果

【讨论】:

    【解决方案3】:

    假设您拥有支持代码覆盖率分析的产品(Visual Studio Premium 或 Ultimate,请参阅有关其功能的更多详细信息 here),您可以按照此处列出的步骤操作:

    http://msdn.microsoft.com/en-us/library/ms182534(v=vs.100).aspx

    【讨论】:

    • tnx,有没有办法将报告与 teamcity 集成?我知道有 opencover 替代方案,但是由于 VS Ultimate 内置了一个工具,我们可以让它与 teamcity 一起使用吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-25
    • 2011-03-18
    相关资源
    最近更新 更多