2013-08-01 67 views
0

首先:我不想做单元测试,而是要实现API测试。这些测试应在规定的顺序来执行:支持测试类和测试方法排序的测试框架

  • 登录
  • 得到的东西
  • 创造的东西
  • 注销

我想获得在Visual Studio这项工作,以及如SonarQube(Gallio是我使用的测试自动化平台)。

我的问题是,只是为了找到一个支持我的要求的框架。

我已经测试:

  • MSTest的 - >不支持在所有测试命令,除了实现一个不被任何加利奥测试亚军插件支持的顺序测试模板。
  • XUnit - >可以在测试类中实现测试方法的排序,但不能排序测试类。

是否有任何测试框架支持此要求,并为Visual Studio提供运行器以及适用于Gallio的插件?

回答

1

MSTest的具有您可以用它来初始化每个测试TestInitialize属性。在其中你可以把你的登录。还有一个TestCleanup属性。在那里你可以把你的LogOut。 Get和Create必须位于一个方法内,以确保Get始终在Create之前发生。

我不熟悉SonarQube,所以不知道是否会处理这个问题。

+0

这还不够。由于我想实施API测试,因此需要执行几个步骤。登录/注销只是一个例子。我需要根据这些类中的测试类和测试进行排序。因此TestInitialize和TestCleanup并没有真正的帮助。但谢谢你的回答。 – LaOsgaar

+0

我最终使用xUnit作为框架,通过在测试夹具中实现排序的优先级属性。所有真正必要的事情都是由我的基类的构造函数完成的(这相当于MSTest的TestInitialize)。 使用的xUnit的优点是所有测试(需要安装的xUnit亚军)可以在Visual Studio中执行(基于MSTest的这不能做,除了过滤测试,并与非常难看顺序测试定义文件的工作)。 – LaOsgaar

0

您指定不支持这一点,因为他们都是单元测试框架的人。单元测试应该是测试代码的“单元”,因此独立于其他测试。您正在寻找的是集成测试或验收测试。

我还没有真正完成整合/验收测试,所以我不能建议你应该使用什么,但你可以在google出现了一段。我知道了我的头顶部的只有一个是StoryTeller

+0

是的,我知道我提到的框架是单元测试框架。因此我明白他们为什么像他们那样行事。但是我想将API测试集成到Visual Studio中,并且可以通过SonarQube执行它们,并通过SonarQube分析结果。目前我没有看到另一种选择。 – LaOsgaar