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
相关推荐
wyh要好好学习2 小时前
SpringMVC快速上手尢词2 小时前
SpringMVCwrx繁星点点2 小时前
享元模式:高效管理共享对象的设计模式咕哧普拉啦4 小时前
乐尚代驾十订单支付seata、rabbitmq异步消息、redisson延迟队列wyh要好好学习5 小时前
SSM— spring,springMVC,mybatis整合A-bodgie6 小时前
Spring 中的 Environment 对象桐桐桐6 小时前
Spring Security @PreAuthorize @PostAuthorize 权限控制荆州克莱6 小时前
[FE] React 初窥门径(四):React 组件的加载过程(render 阶段)Java程序员-小白7 小时前
Spring Shell——快速构建终端应用,自定义终端命令那你为何对我三笑留情8 小时前
六、Spring Boot集成Spring Security之前后分离项目认证流程最佳方案