Spring整合单元测试

两种方式:半注解,纯注解

一.半注解

特点:1.使用配置文件

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="
                    http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans.xsd">
​
    <!--整合单元测试-->
    <bean id="user" class="com.qcbyjy.demo5.User"/>
​
</beans>

2.测试代码引入配置文件

复制代码
@RunWith(value = SpringJUnit4ClassRunner.class)     // 运行单元测试
@ContextConfiguration(value = "classpath:applicationContext_test.xml")   // 加载类路径下的配置文件
public class Demo5 {
​
    // 测试哪一个对象,把该对象注入进来,在测试环境下,可以使用注解的方式注入测试的对象
    // 按类型自动注入
    @Autowired
    private User user;
​
    @Test
    public void run1(){
        // 创建工厂,加载配置文件......
        // 调用对象的方法
        user.sayHello();
    }
​
}

二.纯注解

特点:1.在类上标注注解(@Component ​ @Controller ​ @Service ​ @Repository )

复制代码
@Component
public class Customer {
    
    public void save(){
        System.out.println("保存客户...");
    }
​
}

2.使用配置类

复制代码
@Configuration
// 扫描包结构
@ComponentScan(value = "com.qcbyjy.demo6")
public class SpringConfig6 {
}

3.测试方法引入配置类

复制代码
@RunWith(SpringJUnit4ClassRunner.class)
// 加载配置类
@ContextConfiguration(classes = SpringConfig6.class)
public class Demo6 {
​
    // 按类型注入
    @Autowired
    private Customer customer;
​
    /**
     * 测试
     */
    @Test
    public void run1(){
        customer.save();
    }
​
}

注解解释

@RunWith(value = SpringJUnit4ClassRunner.class) // 运行单元测试

@ContextConfiguration(value = "classpath:applicationContext_test.xml") // 加载类路径下的配置文件 半注解方式

@ContextConfiguration(classes = SpringConfig6.class) //纯注解方式

相关推荐
萧瑟余晖2 小时前
Spring Security会话管理与CSRF详解
spring·csrf
Wx-bishekaifayuan2 小时前
springboot铜仁非遗之家76938-计算机课程设计、毕业设计
java·spring boot·后端·spring·django·课程设计·旅游
青春不朽5124 小时前
Python 里 a is b 有时 True 有时 False?小整数缓存和常量折叠的底层真相
python·spring·缓存
2501_915918414 小时前
在 Xcode 中运行和调试单元测试的完整指南
ide·vscode·macos·ios·单元测试·个人开发·xcode
苏渡苇4 小时前
Spring Insight:跨服务调用链路是怎么串起来的?
spring boot·后端·spring·系统监控·apm
夕除5 小时前
redis--主从还是集群,内存
java·spring·mybatis
霸道流氓气质6 小时前
AI 简历制作平台:结构化输出解析、多模板渲染与 PDF 导出的 Vue3 + Spring AI 全栈实战
人工智能·spring·pdf
打工仔折腾 AI6 小时前
Spring AI + Qwen 周报生成实战:从原始日志到人工确认卡
人工智能·后端·python·spring·elasticsearch·ai agent 实战
开开心心就好6 小时前
手机电池健康怎么查?看容量温度循环次数
spring·智能手机·ffmpeg·计算机外设·电脑·maven·音视频
云和数据.ChenGuang6 小时前
Spring AI 对接 LangGraph:构建企业级智能体工作流实战
java·人工智能·spring boot·后端·spring