按指定顺序运行JUnit4测试类

布拉萨拉德里

我编写了许多测试,这些测试不仅分为单独的类,而且根据测试的应用程序区域,还分为单独的子包。所以,我的包结构看起来像这样:

my.package.tests
my.package.tests.four
my.package.tests.one
my.package.tests.three
my.package.tests.two

my.package.tests程序包中,我有一个父类,子程序包中的所有测试都通过一到四个进行扩展。现在,我想选择测试的运行顺序;不是在类内(这似乎可以通过FixMethodOrder批注实现),而是类或子包本身的顺序(因此,one首先在子包中,然后在two等等中)。一些测试类使用Parameterized Runner,以防万一。测试成功不需要选择顺序,因为它们彼此独立。但是,对它们进行排序以反映程序各部分通常的使用顺序将很有帮助,因为这会使分析变得容易一些。

现在,理想情况下,我想拥有一些配置文件,该文件告诉JUnit应该以哪种顺序执行测试;我猜不过这不会那么容易。我在这里有哪些选择?最简单的选择是什么?我还希望只列出子包,而不是列出包中的各个类,甚至列出这些类中的测试函数。

我正在使用Java 1.6.0_26(这里没有选择)和JUnit 4.11。

gt

您可以使用测试套件进行此操作。(您也可以“嵌套”这些)

@SuiteClasses({SuiteOne.class, SuiteTwo.class})
@RunWith(Suite.class)
public class TopLevelSuite {}

@SuiteClasses({Test1.class, Test2.class})
@RunWith(Suite.class)
public class SuiteOne {}


@SuiteClasses({Test4.class, Test3.class})
@RunWith(Suite.class)
public class SuiteTwo {}

... 等等。使用“ toplevelsuite”作为入口点,测试将按照定义@SuiteClasses数组的顺序执行

至于类中的方法,您可以指定它们执行的顺序@FixMethodOrder(如您在问题中已经提到的那样)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

嘲讽私有变量的函数,用于测试Junit4

JUnit的5:指定执行顺序嵌套测试

嵌套测试设置在JUnit4静态内部测试类

如何在Android Studio 1.1中运行简单的JUnit4测试?

如何在JUnit4中按特定顺序运行测试方法?

如何按顺序制作junit测试运行方法

JUnit4:测试关闭挂钩

JUnit4使用测试套件在特定软件包中运行所有测试

JUnit4测试类是否需要公共的无参数构造函数?

如何在JUnit测试类中运行(或更改顺序)特定的测试方法?

通过一起运行来升级到JUnit4并保留旧版JUnit 3测试和测试套件

测试未按JUnit5中的指定顺序运行

如何与Junit一起按顺序运行测试方法

使用Maven在Eclipse中运行单个JUnit4测试

按顺序运行robolectric测试?

使用Gradle运行特定的junit4类别

JUnit4和JUnit5测试未在IntelliJ中运行

JUnit测试未按顺序运行

如何使用Jupiter Junit5平台的老式引擎通过gradle配置按类别运行JUnit4测试

运行JUnit4测试时出现NullPointerException,带有MockitoHint“ Unused ...”和“ args OK?”

Junit4在测试运行时引发异常

安排Eclipse隔夜运行JUnit4测试

是否可以在Intellij Idea中更改junit4测试的默认类名称模板?

如何使JUnit4“等待”以在运行测试之前完成异步作业

按顺序运行测试文件?

Espresso,按顺序运行测试类

了解失败的 JUnit4 测试?

如何将参数从 Gradle 插件传递到 JUnit4 测试运行器?

使用 RunWith(Junit4::class) 注释运行测试与不使用它之间的区别