51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7953|回复: 9
打印 上一主题 下一主题

Hibernate配置文件在单元测试中的灵活运用

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2005-10-25 14:09:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Hibernate 是一个流行的开源对象关系映射工具,单元测试和持续集成的重要性也得到了广泛的推广和认同,在采用了Hibernate的项目中如何保证测试的自动化和持续性呢?本文讨论了Hibernate加载其配置文件hibernate.properties和hibernate.cfg.xml的过程,以及怎么样将hibernate提供的配置文件的访问方法灵活运用到单元测试中。
1 介绍
Hibernate 是一个流行的开源对象关系映射工具,单元测试和持续集成的重要性也得到了广泛的推广和认同,在采用了Hibernate的项目中如何保证测试的自动化和持续性呢?本文讨论了Hibernate加载其配置文件hibernate.properties和hibernate.cfg.xml的过程,以及怎么样将hibernate提供的配置文件的访问方法灵活运用到单元测试中。注意:本文以hibernate2.1作为讨论的基础,不保证本文的观点适合于其他版本。
2 读者
Java开发人员,要求熟悉JUnit和掌握Hibernate的基础知识
3 内容
3.1.准备
对于hibernate的初学者来说,第一次使用hibernate的经验通常是:
1, 安装配置好Hibernate,我们后面将%HIBERNATE_HOME%作为对Hibernate安装目录的引用,
2, 开始创建好自己的第一个例子,例如hibernate手册里面的类Cat,
3, 配置好hbm映射文件(例如Cat.hbm.xml,本文不讨论这个文件内配置项的含义)和数据库(如hsqldb),
4, 在项目的classpath路径下添加一个hibernate.cfg.xml文件,如下(第一次使用hibernate最常见的配置内容):

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration
PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-2.0.dtd">
<hibernate-configuration>
<session-factory>
<property name="connection.url">jdbc:hsqldb:hsql://localhost</property>
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<property name="dialect">net.sf.hibernate.dialect.HSQLDialect</property>
<property name="hibernate.show_sql">false</property>
<mapping resource="Cat.hbm.xml"/>
</session-factory>
</hibernate-configuration>

5, 然后还需要提供一个类来测试一下创建,更新,删除和查询Cat,对于熟悉JUnit的开发人员,可以创建一个单元测试类来进行测试,如下:

import junit.framework.TestCase;
import net.sf.hibernate.HibernateException;
import net.sf.hibernate.Session;
import net.sf.hibernate.Transaction;
import net.sf.hibernate.cfg.Configuration;
public class CatTest extends TestCase {
private Session session;
private Transaction tx;
protected void setUp() throws Exception {
Configuration cfg = new Configuration().configure();////注意这一行,这是本文重点讨论研究的地方。
session = cfg.buildSessionFactory().openSession();
tx = session.beginTransaction();
}
protected void tearDown() throws Exception {
tx.commit();
session.close();
}

public void testCreate() {
//请在此方法内添加相关的代码,本文不讨论怎么样使用Hibernate API。
}
public void testUpdate() {
//请在此方法内添加相关的代码,本文不讨论怎么样使用Hibernate API。
}
public void testDelete() {
//请在此方法内添加相关的代码,本文不讨论怎么样使用Hibernate API。
}
public void testQuery() {
//请在此方法内添加相关的代码,本文不讨论怎么样使用Hibernate API。
}
}



详细信息参阅附件

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2005-11-1 09:04:59 | 只看该作者
我在nunit测试中用到 Hibernate,知道它的自动化生成xml那个工具吗?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2005-11-1 09:06:01 | 只看该作者
hibernate.cfg.xml
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-6-12 10:22:08 | 只看该作者
谢谢 ..
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-8-7 10:24:17 | 只看该作者
3Q~
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-9-28 12:15:17 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-10-18 17:59:49 | 只看该作者
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-11-7 22:27:04 | 只看该作者
学习学习
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2008-11-12 23:36:38 | 只看该作者
学习一下
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2009-12-27 12:40:05 | 只看该作者
学习下,真是个好东西啊,谢谢你的分享,我置顶你
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-8 17:39 , Processed in 0.073982 second(s), 28 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表