ssh框架下  由于bean实列 都交给spring 管理,要做单元测试就比较苦难,junit4 引入注解方便很多;

1. 加入依赖包

  使用Spring的测试框架需要加入以下依赖包:

  • JUnit 4 (官方下载:http://www.junit.org/)
  • Spring Test (Spring框架中的test包)
  • Spring 相关其他依赖包(不再赘述了,就是context等包)

2. 创建测试源目录和包

  在此,推荐创建一个和src平级的源文件目录,因为src内的类都是为日后产品准备的,而此处的类仅仅用于测试。而包的名称可以和src中的目录同名,这样由于在test源目录(source file),所以不会有冲突,而且名称又一模一样,更方便检索。

3. 创建测试类

  创建一个测试用的类,推荐名称为 “被测试类名称 + Test”。

  测试类应该继承与 AbstractJUnit4SpringContextTests 或 AbstractTransactionalJUnit4SpringContextTests

  对于 AbstractJUnit4springcontextTests 和 AbstractTransactionalJUnit4SpringContextTests 类的选择:

  如果再你的测试类中,需要用到事务管理(比如要在测试结果出来之后回滚测试内容),就可以使用AbstractTransactionalJUnit4SpringTests类。 事务管理的使用方法和正常使用Spring事务管理是一样的。再此需要注意的是,如果想要使用声明式事务管理,即使用 AbstractTransactionalJUnitSpringContextTests类,请在applicationContext.xml文件 中加入transactionManager bean:

<bean id="transactionManager"class="org.springframework.jdbc.datasource.DataSourceTransactionManager">    <property name="dataSource" ref="dataSource" /></bean>

  如果没有添加上述bean,将会抛出NoSuchBeanDefinitionException,指明 No bean named 'transactionManager' is definded.

4. 配置测试类

  添加如下内容在class前,用于配置applicationContext.xml文件的位置。

@RunWith(SpringJUnit4ClassRunner.class)

@ContextConfiguration(locations={"classpath:/config/applicationContext-*.xml","classpath:/config/applicationContext-beans-*.xml","classpath:/config/applicationContext-beans.xml"})

5. 创建测试方法

  创建测试用方法,推荐名称为 “被测方法名称+ Test”。

  测试方法上方加入 @Test

6. 通过JUnit 4 执行

  右键方法名,选择则“Run As”→“JUnit Test”即可

 package com.zjpost.bank.service;
import javax.annotation.Resource;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:/config/applicationContext-*.xml","classpath:/config/applicationContext-beans-*.xml","classpath:/config/applicationContext-beans.xml"})
public class MBankDetailIcbcServiceImplTest extends
AbstractJUnit4SpringContextTests {@Resourceprivate MBankDetailIcbcServiceImpl mBankDetailIcbcService;@Testpublic void getBankData(){mBankDetailIcbcService.getBankData();}
}@Resource 可以指定name  或者tpye 

原文:http://blog.csdn.net/chinadeng/article/details/16860511

转载于:https://www.cnblogs.com/langtianya/p/5668468.html

java ssh 框架下 利用junit4 spring-test进行单元测试相关推荐

  1. Java缓存框架使用EhCache结合Spring AOP

    Java缓存框架使用EhCache结合Spring AOP 一.Ehcache简介     EhCache是一个纯Java的进程内缓存框架,具有如下特点:     1. 快速简单,非常容易和应用集成. ...

  2. springboot框架下利用websocket实现即时通讯

    springboot框架下利用websocket实现即时通讯(文章末尾有git项目打包文件,直接下载使用即可) 用websocket实现简单的在线聊天,先画个时序图,直观感受下流程 SystemCon ...

  3. 基于遗传算法的高校自动排课管理系统java+ssh框架

    博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 基于遗传算法的高校自动排课管理系统java+ssh框架 系统说明 <基于遗传 ...

  4. STM32F103C8T6基于Arduino框架下利用定时器跑RBG灯闪烁

    STM32F103C8T6基于Arduino框架下利用定时器跑RGB灯闪烁

  5. java ssh框架 struts spring hibernate 简介

    目录 什么是SSH框架 浅谈Struts 什么是Struts Struts的核心构成 为什么使用Struts 浅谈Hibernate 什么是Hibernate Hibernate的核心构成 浅谈Spr ...

  6. 在Spring MVC框架下利用RESTful API和MongoDB实现用户留言与邮件反馈

    在Spring MVC框架下,基于注解映射和数据绑定编写Java业务代码,采用MongoDB数据库进行数据存储,使用JSP和JS渲染表单页面,利用RESTful API实现基于URL的请求处理服务,以 ...

  7. 【java】 linux下利用nohup后台运行jar文件包程序

    Linux 运行jar包命令如下: 方式一: java -jar XXX.jar 特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出 那如何让窗口不锁定? 方式二 ...

  8. java ssh框架开源项目_几个比较棒的开源ssh框架

    集结最新主流时尚开源技术的面向企业级Web应用的基础开发框架,提供一个J2EE相关主流开源技术架构整合及一些企业应用基础通用功能和组件的设计实现的最佳实践和原型参考. http://www.jeasy ...

  9. JAVA常用框架系列教程之Spring(附视频)

    大家好,框架作为程序员开发重要的学习部分,在java开发中,框架的学习也尤为的重要,框架不仅可以帮助大家高效的进行开发工作,更加能够优化工作步骤,从而提高开发人员的工作效率.为帮助Java编程的初学者 ...

  10. C# WPF Caliburn.Micro框架下利用Mef加载其它项目界面

    01 - 前言 MEF是微软自家的托管可扩展框架,在这里我把它用成了ioc容器.在Caliburn.Micro框架下,view和viewmodel被注入到CompositionContainer容器中 ...

最新文章

  1. SpringBoot集成Quartz实现定时任务的动态创建、启动、暂停、恢复、删除。
  2. liferay7.0 mysql_Liferay7 BPM门户开发之6: Activiti数据库换为mysql
  3. 搭建Cacti监控系统(一)-- 搭建LNMP 环境
  4. 8000 字 + 21 张图,服务端高并发分布式架构 14 次演进之路
  5. 和rna用什么鉴定_RNA-seq:测序原理之文库构建
  6. pgsql怎么从interval中取出数字_tp6中swoole扩展websocket的使用
  7. 前端学习(1736):前端系列javascript之创建webpack与loader使用
  8. ObjectArx创建指定块
  9. 字典树哇 AC自动机哇 = _ =
  10. linux 软件应用
  11. 关闭极域电子教室学生端的各种方法
  12. QA:Modem-QAM解码
  13. html中易混淆的offset、client、scroll
  14. 排名方法可用于分数排名,购买量排名等排名计算
  15. AHA Music插件:超好用的听歌识曲搜索工具
  16. Java实现多重继承
  17. 苹果7怎么开启位置服务器,iPhone7小白点如何开启?苹果iPhone7虚拟Home键开启设置方法图解...
  18. 优盘制作服务器引导盘,USBOS V3.0彪悍版U盘启动盘制作工具-用于PC/工控机/服务器/Surface/Mac...
  19. C# CAD视图操作之缩放
  20. Android开发环境离线工具包

热门文章

  1. python做数据分析对数学要求_Python数据分析之Pandas
  2. prometheus grafana监控 各个cpu核心利用率
  3. linux mysql 数据库同步
  4. 学生用计算机如何clean,windows installer clean up,教您电脑如何使用清理实用工具
  5. php去除中文以外的特殊字符,php从文本中去除空格、特殊字符的4种情况
  6. SpringBoot学习(一)初识SpringBoot、第一个SpringBoot程序
  7. JavaSE基础——Scanner类和String类
  8. oracle数据库使用
  9. es6之模块化(module)--绝对能看懂
  10. 二十五、JAVA多线程(三、线程同步)