• 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应用程序的正确性。

     

  • 相关阅读:
    启动springboot项目后运行时报错The driver has not received any packets from the server
    Java 毕业设计-基于SpringBoot的在线文档管理系统
    JAVA Web项目开发1.3(第一天)
    Android 13.0 修改wifi信号强度
    Linux常用命令工具
    Spring Cloud Function Spel表达式注入
    想辞职了,IT部门地位低,在公司天天被业务压制,成了取数机器
    宇凡微Y51T合封射频芯片,集成433M芯片和MCU
    __main__文件学习测试如下
    面向对象(九) 多态 接口
  • 原文地址:https://blog.csdn.net/m0_65152767/article/details/134540057