java junit 注解执行顺序与讲解

1.参考链接:

2.注意项:

  •  @BeforeClass 和@Before区别 & @AfterClass和@After区别

       在每一个测试方法运行前都会运行一次,只需要声明成为public。在类中只运行一次,并且必须声明为public static。通常,@BeforeClass当多个测试需要共享相同的计算昂贵的设置代码时,可以使用。建立数据库连接属于此类。你可以将代码从@BeforeClass移到@Before,但是测试运行可能需要更长的时间。注意,标记的代码@BeforeClass作为静态初始化程序运行,因此它将在创建测试夹具的类实例之前运行。

特性

Junit 4Junit 5
  • 在当前类的所有测试方法之前执行。
  • 注解在静态方法上。
  • 此方法可以包含一些初始化代码。
@BeforeClass@BeforeAll
  • 在当前类中的所有测试方法之后执行。
  • 注解在静态方法上。
  • 此方法可以包含一些清理代码。
@AfterClass@AfterAll
  • 在每个测试方法之前执行。
  • 注解在非静态方法上。
  • 可以重新初始化测试方法所需要使用的类的某些属性。
@Before@BeforeEach
  • 在每个测试方法之后执行。
  • 注解在非静态方法上。
  • 可以回滚测试方法引起的数据库修改。
@After

@AfterEach

3.代码:

import java.util.Arrays;
import java.util.Collection;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;

@RunWith(Parameterized.class)
public class TestDemo {
	private String name;
	public TestDemo (String name) {
		System.out.println("构造函数");
		 this.name=name;
	}
	@Before
	public void setUp() {
		System.out.println("Before");
	}
	@Parameters
	public static Collection<Object[]> data() {
		System.out.println("Parameters");
		Object[][] data = new Object[][] { {"张三"}};
		return Arrays.asList(data);
	}
	@Test
	public void test() {
		System.out.println("Test");
		System.out.println(name);
	}
	@After
	public void after() {
		System.out.println("After");
	}
}

4.运行结果:

Parameters

Parameters

构造函数

Before

Test

张三

After

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值