Spring之单元测试

Spring提供了一个运行器,可以读取配置文件(或注解)来创建容器。

1 整合Junit5

1.1 引入依赖
<dependencies>
    <!--spring context依赖-->
    <!--当你引入Spring Context依赖之后,表示将Spring的基础依赖引入了-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-context</artifactId>
        <version>6.1.1</version>
    </dependency>

    <!--spring对junit的支持相关依赖-->
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-test</artifactId>
        <version>6.1.1</version>
    </dependency>

    <!--junit5测试-->
    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>5.9.0</version>
    </dependency>

    <!--log4j2的依赖-->
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.19.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-slf4j2-impl</artifactId>
        <version>2.19.0</version>
    </dependency>
</dependencies>
1.2 配置扫描
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd
       http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd">
    
    <context:component-scan base-package="com.giser.spring6" />

</beans>
1.3 基础实体
package com.giser.spring6.junit5;

import org.springframework.stereotype.Component;

/**
 * @author giserDev
 * @description
 * @date 2024-01-07 19:37:52
 */
@Component
public class User {
    public User() {
        System.out.println("run user");
    }
}
1.4 测试
package com.giser.spring6.junit5;

import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.junit.jupiter.SpringJUnitConfig;

/**
 * @author giserDev
 * @description
 * @date 2024-01-07 19:41:24
 */
// 方式二
//@ExtendWith(SpringExtension.class)
//@ContextConfiguration("classpath:spring-bean.xml")
// 方式一 推荐
@SpringJUnitConfig(locations = "classpath:spring-bean.xml")
public class SpringJunit5Test {

    @Autowired
    private User user;

    @Test
    public void testUser(){
        System.out.println(user);
    }

}

2 整合Junit4

2.1 引入依赖
<!-- junit测试 -->
<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
</dependency>
2.2 实体
package com.giser.spring6.junit4;

import org.springframework.stereotype.Component;

/**
 * @author giserDev
 * @description
 * @date 2024-01-07 19:37:52
 */
@Component
public class Junit4User {
    public Junit4User() {
        System.out.println("run junit4User");
    }
}
2.3 测试
package com.giser.spring6.junit4;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

/**
 * @author giserDev
 * @description
 * @date 2024-01-07 19:41:24
 */
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("classpath:spring-bean.xml")
public class SpringJunit4Test {

    @Autowired
    private Junit4User junit4User;

    @Test
    public void testUser(){
        System.out.println(junit4User);
    }

}
  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Cloud提供了许多用于单元测试的工具和框架,可以帮助我们测试和验证我们的微服务应用。下面是一些常用的Spring Cloud单元测试的方法和工具: 1. 使用MockMvc进行Controller层的单元测试: 可以使用Spring MVC的测试框架MockMvc来模拟HTTP请求和验证响应结果。通过使用MockMvc,我们可以针对每个Controller的请求路径进行单元测试,验证接口的正确性。 2. 使用@SpringBootTest注解进行集成测试: 使用@SpringBootTest注解可以方便地进行Spring Boot应用的集成测试。该注解会加载整个应用的上下文,并且支持自动配置,可以在测试中使用真实的依赖。 3. 使用@MockBean注解模拟依赖: @MockBean注解可以模拟依赖的Bean,用于测试时替换真实的依赖。通过使用@MockBean注解,我们可以控制被测系统与外部依赖之间的交互,以便更好地进行单元测试。 4. 使用TestRestTemplate进行服务端到服务端的集成测试: TestRestTemplate是Spring提供的用于进行服务端到服务端的集成测试的工具。我们可以使用TestRestTemplate发送HTTP请求到服务端,并验证响应结果。这对于测试微服务之间的通信非常有用。 除了上述方法和工具外,还有很多其他的测试技术可以与Spring Cloud一起使用,如使用JUnit和Mockito进行单元测试,使用Selenium进行UI测试等。根据具体的需求,选择适合的测试方法和工具进行单元测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值