我怎样才能按自己的喜好对测试进行排序?

时间:2013-07-12 14:06:10

标签: c# selenium webdriver nunit

例如我有3个测试,他们的名字是

[Test]
public void ATest()
{}

[Test]
public void BTest()
{}

[Test]
public void DTest()
{}
  • 我怎么能表明我希望以这种方式运行它们 DTest 第一 ATest第二 BTest第三
  • 我找到的唯一解决方案是在 Test1_DTest Test2_ATest Test3_BTest 中重命名它们。

有更好的主意吗?

3 个答案:

答案 0 :(得分:4)

单元测试的想法是,它与运行的顺序无关,因为测试应该彼此独立运行。如果您运行的所有测试都已通过,那么您不应该关心订单。如果测试失败,您的重点将是修复该测试。

如果测试的顺序对你来说真的很重要,那么就像亚历克斯所说的那样,唯一的方法是按字母顺序排列你的测试。我已经看到人们在类似的命名测试开始时放置A,B,C等的情况,但这是一个坏主意。

答案 1 :(得分:1)

不幸的是,这是通过按字母顺序排列测试用例的方法。看看这个

https://bugs.launchpad.net/nunit-3.0/+bug/740539

来自Charlie Pool,引用nunit的主要开发者:

“依靠字母顺序是一种可以使用的解决方法,但它可以使用 是记录和支持超出视觉顺序 显示。理论上它可以随时改变。在实践中它不会 改为NUnit 3.0,所以你使用它作为一个非常安全 解决方法“。

或者您可以尝试使用具有良好“保留顺序”标志的testng,您可以使用该标志来确保测试用例顺序执行。

答案 2 :(得分:0)

如果您使用JUnit 4.11(最新版本),我相信有一个“alphebetical order”方案可用于执行in alphabetical order。我不确定NUnit是否具有相同的功能。< / p>

但是,我个人通常会配置我的构建系统(Gradle或Maven)来执行原子操作中的某些测试类。这样我就可以按照我需要的顺序组合它们。