【问题标题】:Categorizing MsTest Cases对 MsTest 用例进行分类
【发布时间】:2009-10-14 20:57:23
【问题描述】:

我正在寻找对我的测试进行分类的最简单方法,以便我可以单独运行它们。

我的组织将如下所示

  • 单元测试
  • 集成测试
  • 系统测试

这样做的原因是我们所有的测试还没有发展到完全自动化。我们的大多数单元测试都是完全自动化的,而集成系统测试则不是。但是,在开发人员机器上调用所有测试仍然有用。

为简单起见,我希望我们可以提交具有独特属性[IntegrationTest][TestCategory("Integration")] 的不同类型的测试,这样我们的构建服务器就只运行我们想要的测试。

我知道 nUnit 具有测试类别,但我们的团队喜欢 Microsoft Stamp 批准 MsTest + IDE 集成。

您的团队是如何解决这个问题的?
是否有提供此功能的扩展程序?
这会内置到 .Net 4.0 中吗?

谢谢

【问题讨论】:

    标签: visual-studio-2008 unit-testing build-process build-automation mstest


    【解决方案1】:

    您是否查看过测试列表功能?单击Test -> Windows -> Test List Editor 以调出用于管理测试列表的 UI。右键单击List of Tests 并选择New Test List 为其命名并保存。之后,您将测试拖到新组中,创建一个可以一起运行的 All Tests 子集。

    另一个选项是使用Test View 工具窗口的过滤功能来选择具有相似特征的测试。它将匹配部分,因此您可以切换到Test Name 并输入类似“Asp”的内容来匹配包含该字符串的所有测试,然后通过选择所有过滤项目来一起运行结果。缺点是你可能不得不重命名你的测试。

    按照同样的思路,更接近您的想法,您可以在Test View 窗口中右键单击测试,选择Properties 并填充Description 属性,或者按照您的建议使用@987654330 装饰测试@ 属性。之后您可以使用之前的方法来过滤测试(这次过滤Description)虽然不是该字段的预期用途,但它可以达到您想要的结果

    【讨论】:

      【解决方案2】:

      这些基本上是不同类型的测试,因此应该放在不同的项目中。

      将集成测试和单元测试分开有很多很好的理由,在这种情况下也会有所帮助。

      • 每个接受测试的类库都应该有一个(或多个)相关联的单元测试项目。
      • 集成测试应该进入一个(或多个)单独的测试项目,以便您可以根据需要更改它们。

      您可以拥有不同的解决方案文件,其中包括一些,但排除其他测试项目z,具体取决于您希望运行的测试套件的类型。

      请注意,此策略将适用于您将来可能决定使用的任何其他测试框架 MSTest,我认为这是一个额外的好处。

      【讨论】:

        【解决方案3】:

        是的,.NET 4.0 Beta 2 中有一个 TestCategory 属性(不排除在 RTM 中,因为 Beta 2 是功能完整的 AFAIK)

        http://msdn.microsoft.com/en-us/library/ms182489%28VS.100%29.aspx

        【讨论】:

          猜你喜欢
          • 2015-02-01
          • 2010-09-30
          • 1970-01-01
          • 2012-02-14
          • 2016-10-28
          • 2012-10-13
          • 2015-01-21
          • 2013-03-09
          • 1970-01-01
          相关资源
          最近更新 更多