创建示例变量和在用@BeforeAll注解标记的方法中创建成员变量之间有什么区别吗?
Public class Example1Test{ Lift testClass = null; @BeforeAll public void init() { testClass = new Lift(); } @Test ... }
VS
Public class Example2Test{ Lift testClass = new testClass; @Test ... }
qgelzfjb1#
@BoforeAll用于确保带注解的方法应该在当前类中的所有@ParameterizedTest、@Test、@RepeatedTest和@TestFactory方法之前执行。因此,如果您希望此方法在任何其他方法之前运行,则必须对此进行注解。
ttvkxqim2#
如果同时定义和初始化的对象(如代码片段中的Lift类)有状态,最好在@BeforeEach中初始化它。在每次测试之前,对象的上下文都会被清除。这使您的测试彼此独立。
@BeforeEach
2条答案
按热度按时间qgelzfjb1#
@BoforeAll用于确保带注解的方法应该在当前类中的所有@ParameterizedTest、@Test、@RepeatedTest和@TestFactory方法之前执行。因此,如果您希望此方法在任何其他方法之前运行,则必须对此进行注解。
ttvkxqim2#
如果同时定义和初始化的对象(如代码片段中的Lift类)有状态,最好在
@BeforeEach
中初始化它。在每次测试之前,对象的上下文都会被清除。这使您的测试彼此独立。