好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Unitils+hibernate+Spring+PostgreSql做dao层测试遇到的错误

Unitils+hibernate+Spring+PostgreSql做dao层测试遇到的错误

 这两天看陈雄华的书《Spring3.0企业开发实战》17章做dao层的测试,由于使用postgreSql数据库,所以遇到了不少错误,很多问题百度都没找到答案,所以记录下来给遇到同样错误的童鞋做个参考。下面是我遇到的问题:

  1、unitils目前还不支持Hibernate4,所以使用hibernate4的童鞋,要么换hibernate3要么自己用dbUnit做测试。

  2、org.unitils.core.UnitilsException: Missing configuration for org.unitils.core.dbsupport.DbSupport.implClassName这个问题使用mySql数据库的话不会出现,可是使用postgreSql或者hdbsql的话就会出现这个问题。百度的英文搜索能力太差,靠他根本不行,还是google吧。谷歌后发现有的说是在unitils-local.properties里面加上两句话:

 +org.unitils.core.dbsupport.DbSupport.implClassName.postgresql=org.unitils.core.dbsupport.PostgreSqlDbSupport
-+org.dbunit.dataset.datatype.IDataTypeFactory.implClassName.postgresql=org.dbunit.dataset.datatype.DefaultDataTypeFactory 

加上这两句话后发现还是有这个错误,后来仔细一想:错误提示的是没有配置implClassName而我这里加的是implClassName.postgresql会不会是把postgreSQL去掉呢,去掉后果然好了:

 +org.unitils.core.dbsupport.DbSupport.implClassName=org.unitils.core.dbsupport.PostgreSqlDbSupport
-+org.dbunit.dataset.datatype.IDataTypeFactory.implClassName=org.dbunit.dataset.datatype.DefaultDataTypeFactory 

这个问题就是这样解决的。

  3、使用xls表进行测试时,用两个xls表,一个是测试数据,一个是期待数据,一开始不知为什么总是绿条,可是这两个xls的数据明明不同,后来偶然间改了一下,发现竟然跟hibernate.hbm2ddl.auto这个属性相关,我原来使用的是update,改为create后,正常了。当两个表中的数据不一样时,它会提示错误,并指明那一条数据。

 

 

 

标签:  Spring3.0 ,  unitils

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于Unitils+hibernate+Spring+PostgreSql做dao层测试遇到的错误的详细内容...

  阅读:35次

上一篇: Knockot JS 数字输入插件

下一篇:初探IronJS