1、父工程pom.xml
XML<properties> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <spring.version>6.0.6</spring.version> <junit.version>5.3.1</junit.version> <lombok.version>1.18.20</lombok.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>${lombok.version}</version> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> <version>${junit.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> <scope>test</scope> </dependency> </dependencies> </dependencyManagement>2、子工程pom.xml
XML<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter-api</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> </dependency> </dependencies>3、Car.java
javapackage com.atguigu.ioc; import lombok.Data; @Data public class Car { private String cname; }4、MySpringConfiguration3.java
javapackage com.atguigu.ioc; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class MySpringConfiguration3 { @Bean public Car getCar3() { Car car = new Car(); car.setCname("仰望"); return car; } }5、SpringJUnitConfigTest.java
javapackage com.atguigu.ioc; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; @SpringJUnitConfig(MySpringConfiguration3.class) public class SpringJunitConfigTest { @Autowired private Car getCar3; @Test public void test() { System.out.println(getCar3); } } //Car(cname=仰望)
Spring6和JUnit5可以很好地集成,以下是基本的步骤:
在Maven或Gradle中添加JUnit5的依赖项。
在测试类上使用JUnit5的注解,例如:
javaimport org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @SpringBootTest public class MyServiceTest { @Autowired private MyService myService; @Test public void myTest() { // test method body } }
如果需要使用Spring的依赖注入功能,可以使用@Autowired注解将服务注入到测试类中。
Spring6提供了一个@SpringBootTest注解,帮助我们创建Spring应用程序上下文和测试环境并自动配置Spring应用程序上下文。这样,我们就可以创建一个真实的Spring应用程序环境,并在测试中使用。
我们还可以使用@MockBean注解来模拟服务并将其注入到测试类中。这使我们能够测试服务的行为,而不依赖于具体的实现。
最后,我们可以使用各种JUnit5的断言和前置条件来编写测试用例,例如assertEquals和assertNotNull等。
总的来说,Spring6和JUnit5的集成非常容易和灵活,可以帮助开发人员编写高质量的测试用例并确保Spring应用程序的正确性。
Spring-IOC-Spring6和JUnit5集成
丁总学Java2023-11-22 1:32
相关推荐
曹轲恒8 小时前
SpringBoot整合SpringMVC(上)JH30739 小时前
Java Spring中@AllArgsConstructor注解引发的依赖注入异常解决计算机学姐11 小时前
基于SpringBoot的美食分享交流平台潇凝子潇12 小时前
Java 设计支持动态调整的LFU缓存: 需包含热度衰减曲线和淘汰策略监控哪里不会点哪里.15 小时前
Spring MVC 核心原理解析:从请求到响应到底发生了什么?九皇叔叔15 小时前
application.yml 文件无 Spring 图标 + 无自动提示老毛肚16 小时前
Spring 6.0基于JDB手写定制自己的ROM框架手握风云-18 小时前
JavaEE 进阶第十二期:Spring Ioc & DI,从会用容器到成为容器(上)马猴烧酒.18 小时前
JAVA后端对象存储( 图片分享平台)详解IT空门:门主18 小时前
Spring AI Alibaba使用教程