0

例如,我进行了 3 次测试,他们的名字是

[Test]
public void ATest()
{}

[Test]
public void BTest()
{}

[Test]
public void DTest()
{}
  • 我怎样才能表明我想在这种DTest中运行它们成为第 1ATest 2BTest 3
  • 我找到的唯一解决方案是在Test1_DTestTest2_ATestTest3_BTest中重命名它们。

有更好的主意吗?

4

3 回答 3

4

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

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

于 2013-07-12T14:41:02.857 回答
1

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

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

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

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

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

于 2013-07-12T14:12:43.650 回答
0

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

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

于 2013-07-12T17:29:31.463 回答