关于Junit4测试类注解@Before、@After、@BeforeClass、@AfterClass的使用

本文详细对比了JUnit4与JUnit5中用于测试方法的注解差异,包括@BeforeClass与@BeforeAll、@AfterClass与@AfterAll、@Before与@BeforeEach、@After与@AfterEach等,并通过示例代码展示了它们的使用方式。

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

首先看一下这几个注解在junit4和junit5版本不同的写法

junit4junit5特点
@BeforeClass@BeforeAll在当前类的所有测试方法之前执行。注解在【静态方法】上。
@AfterClass@AfterAll在当前类中的所有测试方法之后执行。注解在【静态方法】上。
@Before@BeforeEach每个测试方法之前执行。注解在【非静态方法】上。
@After@AfterEach每个测试方法之后执行。注解在【非静态方法】上。

表的意思表现的很明白,接下来给大家一个实例:

import org.junit.*;
public class TestJunitAnnotation {
    @BeforeClass
    public static void beforeClass(){
        System.out.println("before class:begin this class*************");
    }
    @AfterClass
    public static void afterClass(){
        System.out.println("after class:end this class--------------");
    }
    @Before
    public void before(){
        System.out.println("before:begin test");
    }
    @After
    public void after(){
        System.out.println("after:end test");
    }
    @Test
    public void Test(){
        System.out.println("[this is a test!]");
    }
    @Test
    public void Test2(){
        System.out.println("[this is another test!]");
    }
}

执行该测试方法TestJunitAnnotation,控制台输出:
在这里插入图片描述
正如我们最上方表格所示,@BeforeClass是在所有测试方法前,执行一次,而@Before是在每个测试方法前都会执行,同理得After

参考文章:https://blog.youkuaiyun.com/iexploration/article/details/82023893

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值