SpringBoot系列之整合框架JUnit

本文介绍了JUnit5在SpringBoot中的应用,包括其作为回归测试框架的重要性,特点如优雅简洁和可重复性,以及在2.2版本后的简化使用方式。通过示例展示了如何利用@Autowired和@Test注解在Spring环境下进行单元测试。

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


一、什么是JUnit

JUnit是一个Java语言的单元测试框架。它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个。JUnit是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架(regression testing framework)

二、JUnit特点

  • 用于编写和运行可重复的测试。
  • JUnit 测试让您可以更快地编写代码,提高质量。
  • JUnit 是优雅简洁。它是不那么复杂以及不需要花费太多的时间。
  • 确保测试能够在共享且固定的环境中运行,因此保证测试结果的可重复性
  • 用于测试期望结果的断言(Assertion)
  • 用于共享共同测试数据的测试工具
  • 用于方便的组织和运行测试的测试套件。

三、SpringBoot集成JUnit。

在SpringBoot的2.2版本之后集成了JUnit5版本。

JUnit 5 的变化

JUnit5与之前的JUnit框架区别比较大,JUnit5由如下三个模块组成

JUnit Platform + JUnit Jupiter + JUnit Vintage

JUnit Platform是在jvm上启动测试框架的基础,定义了测试引擎的API,可以在cmd命令行启动这个平台。
JUnit Jupiter是新编程模块和扩展模块在junit5上写测试和扩展的组合,Jupiter子工程提供在平台上跑Jupiter的测试引擎。
JUnit Vintage提供跑junit3和junit4的测试引擎。
junit5需要java8及以上的版本。但是可以测试用以前的jdk版本编译过的代码。

而SpringBoot2.2版本之后只需要使用注解@SpringBootTest,@Test导包为org.junit.jupiter.api.Test。即导入@Test导包为org.junit.jupiter.api.Test则不用加@RunWith(SpringRunner.class)注解。

@SpringBootTest(classes = Main.class)//springboot测试类
public class UserServiceTest {
    @Autowired
    UserService userService;

    @Test
    public void test(){
        userService.addUser();
    }
}

而SpringBoot2.2版本之前则需要@SpringBootTest@RunWith(SpringRunner.class)才能加载Spring容器进行测试

@SpringBootTest(classes = Main.class)//springboot测试类
@RunWith(SpringRunner.class)//junit 框架整合
public class UserServiceTest {
    @Autowired
    UserService userService;

    @Test
    public void test(){
        userService.addUser();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

十一*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值