在SSH中增加JUNIT4单元测试

 首先,需要将UNITILS相关的jar包导入到系统的依赖jar包文件lib中,相关的jar文件如下:


dbunit-2.4.8.jar

hamcrest-all-1.3.0RC2.jar

hamcrest-library-1.1.jar

htmlunit-2.8.jar

htmlunit-core-js-2.8.jar

httpclient-4.0.2.jar

httpcore-4.0.1.jar

httpmime-4.0.1.jar

junit-4.8.2.jar

mockito-all-1.8.5.jar

nekohtml-1.9.14.jar

operadriver-v0.6.jar

selaid-1.0.1.jar

selenium-java-2.4.0.jar

spring-ws-test-0.22.jar

testng-5.14.4.jar

unitils-core-3.1.jar

unitils-database-3.1.jar

unitils-dbmaintainer-3.1.jar

unitils-dbunit-3.1.jar

unitils-mock-3.1.jar

unitils-orm-3.1.jar

unitils-spring-3.1.jar

unitils-testng-3.1.jar

xmlunit-1.2.jar

xmlunit-1.3.jar

  此外,除了常见的jar包之外,还有一个commons-lang包也是需要的,具体报错的时候,在网上找一下就ok了.

  然后,使用Eclipse的new功能,创建一个基于Junit4的test case,需要注意的事情是,需要让该test case能够得到spring 的SpringApplicationContext对象,得到了Spring的SpringApplicationContext对象之后,后面的测试用例就比较简单了.在获取SpringApplicationContext的时候,一定要注意注解里面的文件位置的获取.我们可以多看一下编译之后的文件,不要仅仅依据eclipse的文件的位置来判断相对位置.下面是我的Test Case的父类,以及子测试类:


package com.ziwen.common;

import org.springframework.context.ApplicationContext;

import org.unitils.UnitilsJUnit4;

import org.unitils.spring.annotation.SpringApplicationContext;

public class CommonTest extends UnitilsJUnit4{

@SpringApplicationContext({

"springConfig/applicationContext.xml",

"springConfig/bizContext.xml",

"springConfig/daoContext.xml"})

private ApplicationContext applicationContext;

public ApplicationContext getApplicationContext() {

return applicationContext;

}

public void setApplicationContext(ApplicationContext applicationContext) {

this.applicationContext = applicationContext;

}

}

子类:

package com.ziwen.biz;

import static org.junit.Assert.assertNotNull;

public class TestDemoBiz extends CommonTest{

@SpringBean("demoBiz")

private DemoBiz demobiz;

@Test

public void testDoSth() {

List<Demo> list=demobiz.getDemoList(new Page(10));

assertTrue(list.size()>1);

}

@Test

public void testGetDemoList() {

String str=demobiz.doSth();

assertNotNull(str);

}

}

 测试的结果:

   

最新内容请见作者的GitHub页:http://qaseven.github.io/

   

时间: 2024-12-03 05:57:11

在SSH中增加JUNIT4单元测试的相关文章

在Python中进行自动化单元测试的教程_python

一.软件测试 大型软件系统的开发是一个很复杂的过程,其中因为人的因素而所产生的错误非常多,因此软件在开发过程必须要有相应的质量保证活动,而软件测试则是保证质量的关键措施.正像软件熵(software entropy)所描述的那样:一个程序从设计很好的状态开始,随着新的功能不断地加入,程序逐渐地失去了原有的结构,最终变成了一团乱麻(其实最初的"很好的状态"得加个问号).测试的目的说起来其实很简单也极具吸引力,那就是写出高质量的软件并解决软件熵这一问题. 可惜的是,软件开发人员很少能在编码

声音文件-Borland C++ 想在程序中增加播放声频

问题描述 Borland C++ 想在程序中增加播放声频 如果操作有误的话就像Windows操作系统一样有个声音提示,具体该怎么操作?最好提供源码,谢谢,声音文件来自于C:windowsMedisWindows xp 错误.wav,我不太会定义,是Borland C++中有关于声频的控件么?

ssh中form向后台传值为null

问题描述 ssh中form向后台传值为null jsp中form部分如下 用户名: 密码: 搜索: 下面这个表传回后台的值为空Hibernate: select song0_.sid as sid3_ song0_.location as location3_ song0_.songname as songname3_ from Song song0_ where song0_.songname like '%null%' 这是查询语句public List findByName(String

mysql中alter数据表中增加、删除字段与表名修改例子

 alter是非常强大的一个功能我们可以利用alter来修改数据表表名字体名及一些其它的操作了,下面一起来看看mysql中alter数据表中增加.删除字段与表名修改的一个例子.     修改删除mysql数据库中的数据内容: [root@hk ~]# /usr/local/mysql/bin/mysql -uroot -p'admin' #进入mysql mysql> create database gbk default character set gbk collate gbk_chines

如何在smarty中增加类似foreach的功能自动加载数据

在smarty中使用自定义插件来加载数据(见:编写Smarty插件在模板中直接加载数据的详细介绍),在使用的时候还是感觉不够方便,灵机一动就想写成类似foreach那种标签: 第一步:在Smarty_Compiler.class.php的_compile_tag函数中增加: 复制代码 代码如下: //加载数据的开始标签 case 'load': $this->_push_tag('load'); return $this->_complie_load_start($tag_args); bre

如何在phpMyAdmin中增加innoDB

  如何在phpMyAdmin中增加innoDB 使用phpNow(Win32下绿色免费的Apache+PHP+MySQL环境套件包)发现默认不支持innoDB引擎的数据库,尝试了网上很多方法,发下如下方法有效,记录下来供大家参考: 1,修改my.ini 在phpNow的工具MySQL目录(如...PHPnow-1.5.6MySQL-5.0.90)中找到my.ini, 搜索skip-innodb,搜索到之后,将其注释掉(#skip-innodb),注意网上有人说还要将下面以innoDB开头对去掉

asp.net-在登录成功页面中增加“注销”按钮,“注销”按钮表示取消自动登录,并跳转到登录页面。

问题描述 在登录成功页面中增加"注销"按钮,"注销"按钮表示取消自动登录,并跳转到登录页面. 登录界面 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.Cookies["UserName"] != null) // 从客户端读取cookie值 { Response.Redirect("Default4.aspx&q

在 SSH 中使用 RSA 和 DSA 认证(详解)

[原贴]http://weblog.kreny.com/archives/2005/10/rsadsa_authenti.html  [作者]:kreny 一直想把自己的服务器的 SSH 认证的模式从用户名密码模式转换成 RSA 和 DSA 认证协议,借着OpenSSH 4.2的发布,今天写了一下配置过程并收集了一些关于 RSA 和 DSA 的参考文章. 思路整理:一直没有理解公匙模式下的认证过程,这里总结一下公匙和秘匙的制作和安置方法.以下假设一台服务器Server和一台PC作为例子.首先,并

大神帮帮忙-ssh中2个表联合hql查询流程问题

问题描述 ssh中2个表联合hql查询流程问题 我的hql语句是用Guide 和UserGuide这两个表进行连接查询结果,执行hql后用Guide接收其返回值,那么我需要在Guide实体类中将UserGuide实体类做为属性引入,是不是这样的流程,还有没有其他要注意的.最好有一些代码让我参考参考. 解决方案 你这样也行. 你要做两表联查,也可以根据外键,来用hql语句查询到数据.其实查询数据有很多种方法,你觉得哪一种你熟悉,或者性能好,或者你感觉方便,你就可以 使用哪一种,看需求就行了.我推荐