我怎样才能根据自己的喜好对测试进行排序
本文关键字:喜好 测试 排序 自己的 | 更新日期: 2023-09-27 18:22:03
例如,我得到了3个测试,它们的名称是
[Test]
public void ATest()
{}
[Test]
public void BTest()
{}
[Test]
public void DTest()
{}
- 我如何表明我想以DTest的排序运行它们,使其成为1st、ATest2nd和BTest3rd
- 我找到的唯一解决方案是在Test1_DTest、Test2_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,以在原子操作中执行某些测试类。这样我就可以把它们按我需要的顺序组合起来。