Hibernate的测试问题

07-03-29 jacer
请一个问题:

使用hibernate做ORM,我是这么做的,是不是所有的表对象都要这样?

大家是怎么做的呀?好象所有的数据库开发,做测试都非常麻烦的说

public void testGetUsers() {
// add a record to the database so we have something to work with
User user = new User("Easter", "Bunny");
dao.saveUser(user);
List users = dao.getUsers();
assertTrue(users.size() >= 1);
assertTrue(users.contains(user));
}
<p>

然后再

protected void setUp() throws Exception {
// the following is necessary for lazy loading
sf = (SessionFactory) ctx.getBean("sessionFactory");
// open and bind the session for this test thread.
Session s = sf.openSession();
TransactionSynchronizationManager
.bindResource(sf, new SessionHolder(s));
// setup code here
}
protected void tearDown() throws Exception {
// unbind and close the session.
SessionHolder holder = (SessionHolder)
TransactionSynchronizationManager.getResource(sf);
Session s = holder.getSession();
s.flush();
TransactionSynchronizationManager.unbindResource(sf);
SessionFactoryUtils.closeSessionIfNecessary(s, sf);
// teardown code here
}	 
<p>

banq
2007-04-02 11:58
>好象所有的数据库开发,做测试都非常麻烦的说

因为你是基于数据库开发的,所以测试麻烦,如果你基于对象开发,那么基于对象测试就很方便,自己思维要改过来。

zuly
2007-04-02 13:50
楼上正解!

可以推荐一个DBMock给你 !

dbunit!

jacer
2007-04-04 12:04
请问,基于对象开发是否就是先作对象建模然后再生成数据库?

这方面的介绍哪里比较多啊?请指教

猜你喜欢