我试图找到一种方法来控制在包含一个或多个@标记的套件中执行测试的顺序
示例:
@Suite
@SelectPackages("com.tests")
@IncludeTags({
"Tag1",
"Tag2",
})
public class TestSuite { }
@Tag("Tag1")
public class RunThisFirst { }
@Tag("Tag2")
public class RunThisLast { }
这个顺序看起来有点随机,我真的想指定,至少,在套件完成之前,在所有其他测试之后最后运行一个测试。
1条答案
按热度按时间wd2eg0qa1#
您可能希望使用Junit5中的Class Ordering机制(大约从5.8版本开始提供)。根据您的需要,您可能希望使用简单的
@Order
注解,并简单地用表示其排序顺序的数值来注解每个测试类。要在跨越多个类的
@Suite
级别上应用此方法,可以使用如下代码:第一个
未nanotated的类被排在最后,这可能是不希望的,因为它迫使你手动注解每一个类。然后你可以自由地使用
ClassOrderer
提供的任何其他实现,甚至创建你自己的实现。第一个