08-spring整合 junit
目录
- 一、spring整合 junit 问题解析
- 二、Spring 整合 junit 的配置
- 1.加入架包
- 2.@Runwith
- 3.@ContextConfiguration
一、spring整合 junit 问题解析
- 应用程序的入口
- main 方法
- Junit单元测试中,没有 main 方法也能执行
- junit 集成了一个 main 方法
- 该方法就会判断当前测试类中那些方法有 @Test 注解
- junit 就让有 Test 注解的方法执行
- junit 不会管我们是否采用 spring 框架
- 在执行测试方法时,junit根本不知道我们是不是使用了 spring 框架
- 所以也就不会为我们读取配置文件/配置类创建 spring 核心容器
- 由以上三点可知
- 当测试方法·执行时,没有 IOC 容器,就算写了 Autowired 注解,也无法实现注入
二、Spring 整合 junit 的配置
1.加入架包
<!-- https://mvnrepository.com/artifact/org.springframework/spring-test --><dependency><groupId>org.springframework</groupId><artifactId>spring-test</artifactId><version>5.1.9.RELEASE</version><scope>test</scope></dependency>
2.@Runwith
使用 Junit 提供的一个注解把原来的 main 方法替换了,替换成 spring 提供的
这里面要求的是一个字节码,必须是继承 Runner 这个类
3.@ContextConfiguration
告知 spring 的运行期,spring 和 ioc 创建是基于 xml 还是注解的,并且说明位置
- @ContextConfiguration
- locations:指定 xml 文件的位置,加上 classpath 关键字,表示在类路径下
- classes:指定注解类所在地理位置
- 注意:当我们使用 spring 5.x 版本的时候,要求 Junit 的 jar 必须是 4.12 及以上
package com.test;import com.config.JdbcConfig;
import com.config.SpringConfiguration;
import com.domain.Account;
import com.service.IAccountService;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;import java.util.List;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = SpringConfiguration.class)
public class AccountServiceTest {@AutowiredIAccountService as=null;@Testpublic void testFindAllAccount(){//3.执行方法List<Account> accounts = as.findAllAccount();for (Account account:accounts){System.out.println(account);}}}
转载于:https://www.cnblogs.com/zuiren/p/11437518.html
08-spring整合 junit相关推荐
- Spring 整合 Junit
Spring 整合 Junit 问题 在测试类中,每个测试方法都有以下两行代码: ApplicationContext ac = new ClassPathXmlApplicationContext( ...
- Spring的新注解——Configuration、ComponentScan、Bean、Import、PropertySource || spring整合Junit分析
spring中的新注解 spring整合Junit分析 1.应用程序的入口 main方法 2.junit单元测试中,没有main方法也能执行 junit集成了一个main方法 ...
- spring整合junit问题分析
spring整合Junit分析 1.应用程序的入口 main方法 2.junit单元测试中,没有main方法也能执行 junit集成了一个main方法 该方法就会判断当前测试类 ...
- Spring4.x(8)---Spring整合Junit
Spring整合Junit 在开发基于Spring框架的项目时,发现通过Spring进行对象管理之后,做测试变得复杂了.因为所有的Bean都需要在applicationContext.xml中加载好, ...
- Spring 整合junit
junit需要是4.12版本以上 <dependency><groupId>org.springframework</groupId><artifactId& ...
- java day58【 案例:使用 spring 的 IoC 的实现账户的 CRUD 、 基于注解的 IOC 配置 、 Spring 整合 Junit[掌握] 】...
第1章 案例:使用 spring 的 IoC 的实现账户的 CRUD 1.1 需求和技术要求 1.1.1 需求 1.1.2 技术要求 1.2 环境搭建 1.2.1 拷贝 jar 包 1.2.2 创建数 ...
- 如何使用 Spring 整合 junit 单元测试
文章目录 1.测试类中的问题和解决思路 1.1.问题 1.2.解决思路分析 2.配置步骤 2.1.第一步:拷贝整合 junit 的必备 jar 包到 lib 目录 2.2.第二步:使用@RunWith ...
- spring入门第二讲 bean的生命周期 装配方式 Spring整合Junit
bean的生命周期 实体类 //初始化 public void init(){System.out.println("--初始化--"); }//销毁 public void de ...
- java元婴期(21)----java进阶(spring(5)---事务管理AOP事务管理(全自动)spring整合Junit)
事务管理 事务:一组业务操作ABCD,要么全部成功,要么全部不成功. 特性:ACID 原子性:整体 一致性:完成 隔离性:并发 持久性:结果 隔离问题: 脏读:一个事务读到另一个事务没有提交的数据 不 ...
- junit 引入spring 注解管理_第05章 Spring 整合 Junit
3.1 测试类中的问题和解决思路 3.1.1 问题 在测试类中,每个测试方法都有以下两行代码: ApplicationContext 这两行代码的作用是获取容器,如果不写的话,直接会提示空指针异常.所 ...
最新文章
- auto关键字详解 C++
- xxl-job Vs ElasticJob,谁牛?
- oracle23290,详细介绍Oracle数据库EM Console重建过程
- R6034--ARCENGINE
- zend studio 5出来了
- 聊一聊Kafka分区的隐藏属性——二次归类
- json php input,在php中读取json输入
- 关闭mysql密码策略_MYSQL57密码策略修改
- Ndarry 拉伸为一个list
- 史上最全的MSSQL复习笔记
- 计算机操作系统笔记(三)
- mysql var和varp的区别_var方差(var和方差的区别)
- mysql索引失效的原因
- 阿里巴巴编码规范考试答案
- dubbo线程池exhausted
- ESP32 485光照度
- java布道师_JavaWeb主管布道师
- FOC控制-以SVPWM理论控制矢量磁场
- try{}里面有一个return语句,那么紧跟在这个try后的finally{}里的code会不会被执行,什么时候被执行,在return前还是后?
- ikbc机械键盘打字出现重复_再也不怕半夜打字影响家人了——ikbc c104机械键盘评测...