• Spring-IOC-Spring6和JUnit5集成


    1、父工程pom.xml

    1. <properties>
    2. <maven.compiler.source>17maven.compiler.source>
    3. <maven.compiler.target>17maven.compiler.target>
    4. <project.build.sourceEncoding>UTF-8project.build.sourceEncoding>
    5. <spring.version>6.0.6spring.version>
    6. <junit.version>5.3.1junit.version>
    7. <lombok.version>1.18.20lombok.version>
    8. properties>
    9. <dependencyManagement>
    10. <dependencies>
    11. <dependency>
    12. <groupId>org.springframeworkgroupId>
    13. <artifactId>spring-contextartifactId>
    14. <version>${spring.version}version>
    15. dependency>
    16. <dependency>
    17. <groupId>org.projectlombokgroupId>
    18. <artifactId>lombokartifactId>
    19. <version>${lombok.version}version>
    20. dependency>
    21. <dependency>
    22. <groupId>org.junit.jupitergroupId>
    23. <artifactId>junit-jupiter-apiartifactId>
    24. <version>${junit.version}version>
    25. dependency>
    26. <dependency>
    27. <groupId>org.springframeworkgroupId>
    28. <artifactId>spring-testartifactId>
    29. <version>${spring.version}version>
    30. <scope>testscope>
    31. dependency>
    32. dependencies>
    33. dependencyManagement>

    2、子工程pom.xml

    1. <dependencies>
    2. <dependency>
    3. <groupId>org.springframeworkgroupId>
    4. <artifactId>spring-contextartifactId>
    5. dependency>
    6. <dependency>
    7. <groupId>org.projectlombokgroupId>
    8. <artifactId>lombokartifactId>
    9. dependency>
    10. <dependency>
    11. <groupId>org.junit.jupitergroupId>
    12. <artifactId>junit-jupiter-apiartifactId>
    13. dependency>
    14. <dependency>
    15. <groupId>org.springframeworkgroupId>
    16. <artifactId>spring-testartifactId>
    17. dependency>
    18. dependencies>

    3、Car.java

    1. package com.atguigu.ioc;
    2. import lombok.Data;
    3. @Data
    4. public class Car {
    5. private String cname;
    6. }

    4、MySpringConfiguration3.java

    1. package com.atguigu.ioc;
    2. import org.springframework.context.annotation.Bean;
    3. import org.springframework.context.annotation.Configuration;
    4. @Configuration
    5. public class MySpringConfiguration3 {
    6. @Bean
    7. public Car getCar3() {
    8. Car car = new Car();
    9. car.setCname("仰望");
    10. return car;
    11. }
    12. }

    5、SpringJUnitConfigTest.java

    1. package com.atguigu.ioc;
    2. import org.junit.jupiter.api.Test;
    3. import org.springframework.beans.factory.annotation.Autowired;
    4. import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;
    5. @SpringJUnitConfig(MySpringConfiguration3.class)
    6. public class SpringJunitConfigTest {
    7. @Autowired
    8. private Car getCar3;
    9. @Test
    10. public void test() {
    11. System.out.println(getCar3);
    12. }
    13. }
    14. //Car(cname=仰望)

    Spring6和JUnit5可以很好地集成,以下是基本的步骤:

    1. 在Maven或Gradle中添加JUnit5的依赖项。

    2. 在测试类上使用JUnit5的注解,例如:

    1. import org.junit.jupiter.api.Test;
    2. import org.springframework.beans.factory.annotation.Autowired;
    3. import org.springframework.boot.test.context.SpringBootTest;
    4. @SpringBootTest
    5. public class MyServiceTest {
    6. @Autowired
    7. private MyService myService;
    8. @Test
    9. public void myTest() {
    10. // test method body
    11. }
    12. }

    1. 如果需要使用Spring的依赖注入功能,可以使用@Autowired注解将服务注入到测试类中。

    2. Spring6提供了一个@SpringBootTest注解,帮助我们创建Spring应用程序上下文和测试环境并自动配置Spring应用程序上下文。这样,我们就可以创建一个真实的Spring应用程序环境,并在测试中使用。

    3. 我们还可以使用@MockBean注解来模拟服务并将其注入到测试类中。这使我们能够测试服务的行为,而不依赖于具体的实现。

    4. 最后,我们可以使用各种JUnit5的断言和前置条件来编写测试用例,例如assertEquals和assertNotNull等。

    总的来说,Spring6和JUnit5的集成非常容易和灵活,可以帮助开发人员编写高质量的测试用例并确保Spring应用程序的正确性。

     

  • 相关阅读:
    Android,InputMethod.java简单认识
    修改ant-design-vue的switch样式,去除顿顿的样式
    实时操作系统Freertos开坑学习笔记:(八):信号量、事件标志组、任务通知机制
    美摄AIGC创新引擎,助力企业快速搭建AIGC能力(一)
    深入MySQL的使用
    CNCF项目全景图介绍
    JS模块化—CJS&AMD&CMD&ES6-前端面试知识点查漏补缺
    一篇文章,教你彻底掌握接口测试!
    模拟器抓HTTP/S的包时如何绕过单向证书校验(XP框架)
    开源IM项目OpenIM单聊及万人群压测报告
  • 原文地址:https://blog.csdn.net/m0_65152767/article/details/134540057