junit 5-必须使用@BeforeAll来示例化对象吗?

jm81lzqq  于 2022-11-11  发布在  其他
关注(0)|答案(2)|浏览(182)

创建示例变量和在用@BeforeAll注解标记的方法中创建成员变量之间有什么区别吗?

Public class Example1Test{

Lift testClass = null;

@BeforeAll
public void init() {
    testClass = new Lift();
}

@Test
...
}

VS

Public class Example2Test{
Lift testClass = new testClass;

@Test
...
}
qgelzfjb

qgelzfjb1#

@BoforeAll用于确保带注解的方法应该在当前类中的所有@ParameterizedTest、@Test、@RepeatedTest和@TestFactory方法之前执行。因此,如果您希望此方法在任何其他方法之前运行,则必须对此进行注解。

ttvkxqim

ttvkxqim2#

如果同时定义和初始化的对象(如代码片段中的Lift类)有状态,最好在@BeforeEach中初始化它。在每次测试之前,对象的上下文都会被清除。这使您的测试彼此独立。

相关问题