JUnit 测试实例

本文探讨了JUnit测试中默认的类实例化行为,解释了为何@BeforeAll和@AfterAll注解需要为静态,并提到了如何自定义实例化策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

– Start
默认情况下,运行每个测试用例前都会实例化它所在的类,这就是 @BeforeAll 和 @AfterAll 需要是静态的原因。不过我们也可以设置成只实例化一次。

package demo13;

import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.api.TestInstance.Lifecycle;

// 只实例化一次,然后运行所有测试用例
@TestInstance(Lifecycle.PER_CLASS)
class TestInstanceTest {

	// 注意此方法不是静态的
	@BeforeAll
	void setUpBeforeClass() throws Exception {
		System.out.println("@BeforeAll -- 在所有测试方法之前运行一次");
	}

	// 注意此方法不是静态的
	@AfterAll
	void tearDownAfterClass() throws Exception {
		System.out.println("@AfterAll -- 在所有测试方法之后运行一次");
	}

	@BeforeEach
	void setUp() throws Exception {
		System.out.println("	@BeforeEach -- 在每个测试方法之前运行一次");
	}

	@AfterEach
	void tearDown() throws Exception {
		System.out.println("	@AfterEach -- 在每个测试方法之后运行一次");
	}

	@Test
	void testMethod1() {
		
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值