SPRING 发布有测试工具包 spring-test-4.0.4.RELEASE.jar, 用于单元测试。

WEB项目测试的关键点在于 SPRING 配置文件的加载。
(说明:不是测试 spring MVC 的 Controller)

具体实例:

准备测试类: AppUserManage.java, 配置为SPRIGN bean.

新建JUNIT4的测试类: AppUserManageTest.java

关键配置如下:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:conf/spring-core.xml","classpath:conf/spring-mvc-servlet.xml","classpath:conf/spring-hibernate.xml","classpath:conf/spring-hibernate_app.xml" })
@Transactional
@TransactionConfiguration(transactionManager = "transactionManager_app", defaultRollback = true)

最重的配置是加载SPRING 的配置文件。
加载SPRING 的配置文件,有很多重加载方法
(1)直接加载文件的:

@ContextConfiguration({"file:WebContent/WEB-INF/classes/conf/*.xml" })

加载的位置,可以是发布后的 classes 下的文件,也可以是源文件,因为是直接加载文件,所以路径可以自已定。
(2)通过 spring classpath 加载的。
这种方法加载时,从Web发布后的文件中加载,不是从源文件中加载,加载时,可以只加载测试必须的文件。

@ContextConfiguration(locations = { "classpath:conf/spring-core.xml","classpath:conf/spring-mvc-servlet.xml","classpath:conf/spring-hibernate.xml","classpath:conf/spring-hibernate_app.xml"})

(3)Hibernate的配置加载
涉及数据库测试时,需要加载Hibernate的配置文件。最主要的时Hbm文件的加载(如果采用XML方法配置的话)。
配置示例:

<mapping resource="com/onedollar/virtualnurse/baseservice/hibernate/platform/Street.hbm.xml" />

(4).properties 文件的加载
如果涉及使用.properties 配置文件,其路径也需要采用 classpath 方法配置。

<!-- 加载自定义配置文件 -->
<bean id="myPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="location"><value>classpath:conf/self.properties</value></property><property name="fileEncoding" value="utf-8" />
</bean>

(5)如果报 servletContent 错误,一般情况下,是servlet-api.jar 没有引入的原因,在Tomcat等容器中运行正常,是因为这个Jar包在Tomcat/lib 目录中存在。
JUNIT4 测试时,是脱离Tomcat等容器的,所以会报错。
(6)事务的配置很简单, 网上有很多的介绍。
(7)测试Bean的引用

@Resource(name = "appUserManage")
private AppUserManage appUserManage;

然后就可以直接使用。
(8)主要 import

import static org.junit.Assert.fail;
import javax.annotation.Resource;
import junit.framework.Assert;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.annotation.Rollback;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import org.springframework.test.context.transaction.TransactionConfiguration;
import org.springframework.transaction.annotation.Transactional;

JUNIT4 spring hibernate 测试相关推荐

  1. 使用Spring+Junit4.4进行测试

    http://nottiansyf.iteye.com/blog/345819 使用Junit4.4测试  在类上的配置Annotation  @RunWith(SpringJUnit4ClassRu ...

  2. spring mvc+spring + hibernate 整合(二)

    在上篇文章中,我建立了工程并配置了spring + hibernate.今天我们检验下上篇文章的成果,如何检查呢?那就是进行单元测试.本篇文章就让大家和我一起来就前面的建的工程进行单元测试. 本项目使 ...

  3. ssh(Struts+spring+Hibernate)三大框架整合-简述

    ssh(Struts+spring+Hibernate)三大框架配合使用来开发项目,是目前javaee最流行的开发方式,必须掌握: 注意: 为了稳健起见,每加入一个框架,我们就需要测试一下,必须通过才 ...

  4. SSH之IDEA2017整合Struts2+Spring+Hibernate

    摘要 IDEA无疑是Java编程的利器,在下面我们将介绍如何使用IDEA来整合SSH(Struts2 + Spring + Hibernate):介绍將分为三个部分来讲,分别是新建工程,Spring引 ...

  5. spring junit 测试

    这两天做Web开发,发现通过Spring进行对象管理之后,做测试变得复杂了.因为所有的Bean都需要在applicationContext.xml中加载好,之后再通过@Resource去取得.如果每次 ...

  6. Struts+Spring+Hibernate整合入门详解

    标签: strutshibernatespringbeanactionimport 2007-08-12 16:05 36280人阅读 评论(13) 收藏 举报 分类: STRUTS&SPRI ...

  7. Java程序员从笨鸟到菜鸟之(七十九)细谈Spring(八)spring+hibernate整合基本详解

    由于spring和hibernate处于不同的层次,Spring关心的是业务逻辑之间的组合关系,Spring提供了对他们的强大的管理能力, 而Hibernate完成了OR的映射,使开发人员不用再去关心 ...

  8. 【struts2+spring+hibernate】ssh框架整合开发

    SSH框架整合 1 Struts2+Spring+Hibernate导包 Struts2导入jar包: * struts2/apps/struts2-blank.war/WEB-INF/lib/*.j ...

  9. springmvc+spring+hibernate集成cxf

    首先说一下背景,我们的系统是springmvc+spring+hibernate,已经能正常运行,现在要开发webservice,选用cxf. 1.maven依赖 <dependency> ...

最新文章

  1. 文件系统中文件的最长(字符数)绝对路径 Longest Absolute File Path
  2. 为什么不让安装卫xing×××啊
  3. python自媒体创作_做自媒体该做什么领域?
  4. 【论文解读】从BERT和XLNet到MPNet
  5. 【数据结构与算法】之判断字符是否唯一
  6. dd命令测试linux磁盘io情况,dd命令:做硬盘IO性能测试
  7. 解决开启Vue项目缺少node_models包问题
  8. FireFox nsSessionStore.js 问题报错解决
  9. java常用序列化与反序列化方法
  10. 6.3 API : XGBoost
  11. python lambda函数介绍
  12. Leetcode之两棵二叉搜索树中的所有元素
  13. [3]⾃自定义视图、视图控制器
  14. 清风老师数学建模视频课程第1讲层次分析法
  15. 第三批更新鸿蒙系统,emui11第三批更新名单-emui11第三批更新名单介绍 - 系统家园...
  16. 使用 python 查看谁没有交作业
  17. Win8.1重装win7或win10中途无法安装
  18. 父亲母亲-儿时的快乐
  19. 不管你学的是什么专业,你都应该多少懂些管理学的东西-----【管理学十大经典定理}...
  20. Android已读未读功能,android – 将SMS消息标记为已读/未读或删除在KitKat中不起作用的消息...

热门文章

  1. 锂离子/锂聚合物电池保护 IC原理
  2. 计算机实际机器与虚拟机器的概念,第1章 计算机系统结构的基本概念.ppt
  3. 计算机游戏纸牌技巧,为何早期电脑自带纸牌/扫雷等游戏?联想:为了使人们熟悉鼠标操作...
  4. 【陪女朋友逛街】引起的算法问题
  5. 华清远见-重庆中心-JavaWeb技术总结
  6. AP1236 线性LDO稳压IC 工作原理图分享
  7. PaaS和SaaS面临的主要安全问题
  8. JS中的document.getComputedStyle和document.getcurrentStyle
  9. 乐山市计算机学校成教中心,乐山市计算机学校:网络教育开学典礼顺利举行
  10. php 解压zip到目录下,PHP解压ZIP压缩包到指定目录 | kTWO-个人博客