例如我有3个测试,他们的名字是
[Test]
public void ATest()
{}
[Test]
public void BTest()
{}
[Test]
public void DTest()
{}
有更好的主意吗?
答案 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)来执行原子操作中的某些测试类。这样我就可以按照我需要的顺序组合它们。