Spring Boot 使用JUnit5
Spring Boot2.20版本开始引入JUnit5作为单元测试默认库
JUnit5由三个不同子项目的几个不同模块组成。
JUnit5=JUnit Platform + JUnit Jupiter + JUnit Vintage
JUnit Platform :是在JVM上启动测试框架的基础,不仅支持JUnit自制的测试引擎,其他测试引擎也都可以接入。
JUnit Jupiter:提供了JUnit5的新的编程模式,是JUnit新特性的核心。内部包含了一个测试引擎,用于在JUnit Platform上运行。
JUnit Vintage:由于JUnit已经发展多年,为了照顾老的项目,JUnit Vintage提供了兼容JUnit4.x , JUnit30.x的测试引擎。
场景依赖:
< dependency>
< groupId>org. springframework.boot</ groupId>
< artifactId>spring-boot-starter-test</ artifactId>
< scope> test</ scope>
</ denpendency>
SpringBoot2.4及以上版本移除了对Vintage的依赖(不能使用JUnit4的功能)。如果需要兼容JUnit4需要自行引入。
SpringBoot 整合JUnit以后
编写测试方法:@Test标注(需要使用JUnit5版本的注解)
JUnit类具有Spring的功能:
@Autowired、@Transaction(测试完成后自动回滚)