Junit的核心Runner在执行的时候不会创建容器。同时它字节码文件,也改不了

spring整合junit

想办法把junit里面的不能加载容器的main方法换掉。从而实现创建容器。有了容器就可以实现注入

导入spring-test这个包。在pom.xml内配置


Junit包下面有RunWith这么个注解

这里要求的是一个字节码,并且是集成Runner的

所以这里配置的是SpringJUnit4ClassRunner.class

点开。SpringJUnit4ClassRunner 这个类集成了BlockJUnit4ClassRunner

BlockJUnit4ClassRunner又继承了ParentRunner

ParentRunner又继承了Runner

所以最终SpringJUnit4ClassRunner是继承自Runner。这个类是Spring是提供的一定会为我们创建容器,并读取配置文件。
但是前提它需要知道你到底用的是配置文件还是注解。用的配置文件你配置文件放哪了。用的注解。你的注解是谁。
于是就需要第三部

第三步-告知spring容器


@ContextConfiguration里面很多参数

classes表示的是注解的方式创建容器

运行findAll

注意事项


 

找到本地的maven仓库。本地有4.1.2的版本,。

把我们的pom.xml改成4.1.2的版本

再次运行测试方法

我们改回4.1.0的JUnit版本。

我们在运行方法的时候,如果JUnit的版本不支持那么不会体现出现了这个时候我们要运行这个类


只要改成4.1.2及以上就可以了

xml配置的项目

02account_xmlioc

1.导入spring-test的包

然后是JUnit改成4.1.2版本

测试类重复代码删除

然后是定义变量使用Autowired自动注入

@RunWith替换成SpringJUnit4ClassRunner

@ContextConfiguration这个时候不能再用classes了。因为我们是xml配置。用locations配置


配置好执行测试

阶段3 2.Spring_06.Spring的新注解_8 spring整合junit完成的更多相关文章

  1. 阶段3 2.Spring_06.Spring的新注解_5 spring的新注解-PropertySource

    数据库的链接 次数是写死的 新建配置文件 定义成员变量 value注解实现 与配置文件的key对应 PropertySource 要想让spring去读取这个配置文件 resource编译后都跑到了. ...

  2. 阶段3 2.Spring_06.Spring的新注解_2 spring的新注解-Bean

    下面要解决第二部分的配置问题 这两行一出场,就表示可以通过调用构造函数实例化.因为这都是newInstance 上面的需要加上参数,下面的没有任何参数 下面这俩实现的效果不一样. 下面这个除了会创建对 ...

  3. 阶段3 2.Spring_06.Spring的新注解_4 spring的新注解-Import

    把Configuration的直接先注释掉 那么运行测试类的查询所有 并不影响我们的使用 不写同样可以执行的原因是因为这里把SpringConfiguration这个类作为方法传入进去了 新建 Spr ...

  4. 阶段3 2.Spring_06.Spring的新注解_1 spring的新注解-Configuration和ComponentScan

    解决测试类重复代码的问题,xml还是存在的问题,没法脱离xml文件 要想在QueryRunner上加注解,是加不了的 创建工程 复制依赖项到pom.xml 复制注解的工程里面的com文件夹 配置文件b ...

  5. 阶段3 2.Spring_06.Spring的新注解_7 spring整合junit问题分析

    测试类重复代码的问题 这是之前的方式 运行findAll的方法,没有问题 测试人员不需要关心上面的方法,.应该关心的各个方法是否能够正常的运行 对于一个测试工程师,只要写完变量就可以测试了. 可以使用 ...

  6. Spring系列之新注解配置+Spring集成junit+注解注入

    Spring系列之注解配置 Spring是轻代码而重配置的框架,配置比较繁重,影响开发效率,所以注解开发是一种趋势,注解代替xml配置文件可以简化配置,提高开发效率 你本来要写一段很长的代码来构造一个 ...

  7. Spring:基于注解的Spring MVC

    什么是Spring MVC Spring MVC框架是一个MVC框架,通过实现Model-View-Controller模式来很好地将数据.业务与展现进行分离.从这样一个角度来说,Spring MVC ...

  8. Spring自动装配----注解装配----Spring自带的@Autowired注解

    Spring自动装配----注解装配----Spring自带的@Autowired注解 父类 package cn.ychx; public interface Person { public voi ...

  9. Spring+MyBatis纯注解零XML整合(4)

    不得不说,利用XML作为配置文件是一个非常好的想法,它可以轻松地实现配置集中化,而且修改之后无需再次编译.然而,由于大多数情况下开发者基本都会拿到程序的源码,加之对于各种XML配置文件一般情况下也只有 ...

随机推荐

  1. jenkins插件管理提示“update information obtained:不可用ago”

    jenkins插件管理遇到两个错误 (1)插件管理页面提示:There were errors checking the update sites:IOException:Unable to tunn ...

  2. Python内部执行过程

    一.编译过程概述 当我们执行Python代码的时候,在Python解释器用四个过程“拆解”我们的代码,最终被CPU执行返回给用户. 首先当用户键入代码交给Python处理的时候会先进行词法分析,例如用 ...

  3. javascript模板字符串(反引号)

    模板字面量 是允许嵌入表达式的字符串字面量. 你可以使用多行字符串和字符串插值功能.它们在ES2015规范的先前版本中被称为“模板字符串”. 语法 `string text`​`string text ...

  4. 【CERC 2014 E】2048

    题意 2048曾经是一款风靡全球的小游戏. 今天,我们换一种方式来玩这个小游戏. 你有一个双端队列,你只能把元素从左端或从右端放入双端队列中.一旦放入就不得取出.放入后,若队列中有连续两个相同的元素, ...

  5. java调用js函数

    问题:js函数可能有多个,之间有相互调用关系,有jquery jar包 org.mozilla.javascript-1.7.2 js   envjs-1.2.js java代码 import jav ...

  6. 有关 CMMI

    CMMI的全称为Capability Maturity Model Integration,即能力成熟度模型集成.CMMI是CMM模型的最新版本.早期的CMMI(CMMI-SE/SW/IPPD),SE ...

  7. LOJ-6283-数列分块7

    链接: https://loj.ac/problem/6283 题意: 给出一个长为 的数列,以及 个操作,操作涉及区间乘法,区间加法,单点询问. 思路: 考虑整块的乘法, 同时对整块的add标记也要 ...

  8. Python的语句---钱中平

    python中的两种语句:1.if条件控制语句 格式: if: a = int(input("请输入第一个数:"))b = int(input("请输入第二个数:&quo ...

  9. Codeforces #499 E Border ( 裴蜀定理 )

    题目链接 题意 : 给出 N 种纸币.并且给出面值.每种纸币的数量可以任选.问你得出来的数在 k 进制下.末尾位的数有多少种可能.输出具体方案 分析 : 纸币任意选择组成的和 可以用一个一次多项式来表 ...

  10. Color a Tree

    题目链接:Click here Solution: 看起来不太能dp,则考虑树上贪心 题目要求一个点必须先染父亲才能染自己,就给了我们启示,贪心的合并点 我们定义一个点的权重为这个点的价值和/点数,然 ...