论坛首页 Java企业应用论坛

单元测试系列之3:测试整合之王Unitils

浏览 13057 次
该帖已经被评为精华帖
作者 正文
   发表时间:2012-04-09  
jelee87 写道
  楼主的《Spring 3.x》我买了,深度广度都相当不错,期望楼主更多好书出来

  谢谢!有机会一定。欢迎多交流。
0 请登录后投票
   发表时间:2012-04-10  
quan5yes 写道
  要做到不依赖外部的东西,Mock的工作量也是很大啊,有时候甚至觉得Mock不出来,如多线程要怎么Mock呢?


  确实有些场景的模拟比较麻烦,但是这里花的时间是可以通过后面运行时间节省出来的。Mickito的模拟能力是很强,多线程的模块要转一个思路,只要通过mockito模拟了第N次调用的场景就可以了,并不会太难。
0 请登录后投票
   发表时间:2012-04-10  
Spring也有一个测试框架,整合性也不错,楼主为什么舍弃Spring原生的,采用这个unitils的呢?
0 请登录后投票
   发表时间:2012-04-10  
nice !!!!强烈要求楼主写博客手把手教学!!!!
0 请登录后投票
   发表时间:2012-04-11   最后修改:2012-04-11
uyudeyu 写道
Spring也有一个测试框架,整合性也不错,楼主为什么舍弃Spring原生的,采用这个unitils的呢?

   呵呵,没错,Spring有一个test的模块,Spring的测试模块主要提供了以下的功能:
  • 1.JUnit和Spring框架的整合问题,扩展了Junit,使测试用例可以直接使用Bean和Autowired;
  • 2.每Junit中的测试方法可以通过Spring的事务管理进行控制,以便在测试完成时回滚事务,恢复数据库现场;
  • 3.在数据库测试上提供了一些工具类,可以执行脚本文件;

   Spring毕竟有它领域的限制,Spring test只是Spring框架的一个附属,在实际项目,特别是基于数据库的项目测试中,Spring test显得过于单薄了,表现在以下几点:
  • 1.Spring test对其它测试框架的整合性较弱,如整合dbunit,Hibernate测试等;
  • 2.Spring test对数据库测试支持较初级,对数据库同步、测试数据准备等都不足;
  • 3.Spring test的扩展性不足,不容易进行测试框架扩展。

   所以,我在写《Spring 3.x企业应用开发实战》时,从“实战”角度出发,舍弃了Spring test,而改用unitils。unitils+testng+mockito也是我在实际项目开发中真实使用的测试框架,它的整合性,扩展性是Spring test不能比的。
   目前,我做的一个大型互联网应用是基于分库的,很几十个数据库,通过扩展unitils,很好地解决了多数据库环境下的测试问题,如果用Spring test,真的比较晕菜。
   但是,并不是说Spring test无可取之处,其实Spring test中的很多工具类是很不错的,可以在unitils下使用。
0 请登录后投票
   发表时间:2012-04-11  
jiuyuehe 写道
nice !!!!强烈要求楼主写博客手把手教学!!!!


  只要善用BBCode编辑器上面的那几个功能就可以了,摸得秘笈,很简单的
0 请登录后投票
   发表时间:2012-04-11  
stamen 写道
uyudeyu 写道
Spring也有一个测试框架,整合性也不错,楼主为什么舍弃Spring原生的,采用这个unitils的呢?

   呵呵,没错,Spring有一个test的模块,Spring的测试模块主要提供了以下的功能:
  • 1.JUnit和Spring框架的整合问题,扩展了Junit,使测试用例可以直接使用Bean和Autowired;
  • 2.每Junit中的测试方法可以通过Spring的事务管理进行控制,以便在测试完成时回滚事务,恢复数据库现场;
  • 3.在数据库测试上提供了一些工具类,可以执行脚本文件;

   Spring毕竟有它领域的限制,Spring test只是Spring框架的一个附属,在实际项目,特别是基于数据库的项目测试中,Spring test显得过于单薄了,表现在以下几点:
  • 1.Spring test对其它测试框架的整合性较弱,如整合dbunit,Hibernate测试等;
  • 2.Spring test对数据库测试支持较初级,对数据库同步、测试数据准备等都不足;
  • 3.Spring test的扩展性不足,不容易进行测试框架扩展。

   所以,我在写《Spring 3.x企业应用开发实战》时,从“实战”角度出发,舍弃了Spring test,而改用unitils。unitils+testng+mockito也是我在实际项目开发中真实使用的测试框架,它的整合性,扩展性是Spring test不能比的。
   目前,我做的一个大型互联网应用是基于分库的,很几十个数据库,通过扩展unitils,很好地解决了多数据库环境下的测试问题,如果用Spring test,真的比较晕菜。
   但是,并不是说Spring test无可取之处,其实Spring test中的很多工具类是很不错的,可以在unitils下使用。



Spring我觉得它的测试支持,主要以下两点:
1、Mock,感觉它这个术语不是很准确,而应该是伪实现/测试间谍,尤其在使用SpringMVC时用途比较大,但在如struts2环境就几乎没用了
2、测试上下文支持(我觉得这是核心)(方便集成测试注入夹具) (对于 调用被测系统、验证等无能为力)

所有它在如数据库/验证等处理方面比较弱,DRY嘛
0 请登录后投票
   发表时间:2012-04-11  
我也买了这本spring3.x 企业应用开发实战的书!有一些不明白的还要像你请教啊!!!
0 请登录后投票
   发表时间:2012-04-22  
jinnianshilongnian 写道
引用
@SpringApplicationContext({"baobaotao-service.xml", "baobaotao-dao.xml"}) 

准确的说这是集成测试,不再是单元测试了

不过看这个Unitils确实挺nice


确实,既然是单元测试了,这些配置,貌似就不需要了。不然就不再是单元测试了。

不过楼主写的蛮好的,例子也不错。。赞个
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics