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

本文关键字:喜好 测试 排序 自己的 | 更新日期: 2023-09-27 18:22:03

例如,我得到了3个测试,它们的名称是

[Test]
public void ATest()
{}
[Test]
public void BTest()
{}
[Test]
public void DTest()
{}
  • 我如何表明我想以DTest的排序运行它们,使其成为1stATest2ndBTest3rd
  • 我找到的唯一解决方案是在Test1_DTestTest2_ATestest3_BTest中重命名它们

有更好的主意吗?

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

单元测试的理念是,它们的运行顺序无关紧要,因为测试应该彼此独立运行。如果你运行的所有测试都通过了,那么你就不应该关心顺序了。如果测试失败,你的重点将放在修复该测试上。

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

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

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

引用Charlie Pool的话,关于nunit的主要开发者:

"依赖字母顺序是一种可以使用的变通方法,但它没有的文档记录和支持,超出了陈列理论上它随时都可能改变。实际上不会更改到NUnit 3.0,所以将其用作解决方法。"

或者,您可以尝试testng,它有一个很好的"保留顺序"标志,可以用来确保测试用例顺序的执行。

如果你使用JUnit 4.11(最新版本),我相信有一个"字母顺序"方案可以用来按字母顺序执行。我不确定NUnit是否有同样的功能。

但是,就我个人而言,我通常会配置我的构建系统,无论是Gradle还是Maven,以在原子操作中执行某些测试类。这样我就可以把它们按我需要的顺序组合起来。