Java单元测试技术(2)

本文探讨了复杂WEB开发中常见的框架和技术,如Struts、Spring、Hibernate等,并讨论了单元测试的重要性和面临的挑战,包括如何驱动被测单元及构建桩以模拟依赖对象。
 框架复杂
WEB开发使用的框架很少有自己独立设计的,一般都会使用现成的架构,如Struts、JSF、WebWork、EJB、Spring、Hibernate、iBATIS等等,不同的框架,能够支持单元测试的程度也是不一样的。
 数据库访问技术多
业软的WEB应用开发很少有不访问数据库的,因为多是面向业务的开发,业务离不开数据存储。项目组可能会选择不同的数据库访问技术,如JDBC、EntityBean、Spring、Hibernate、iBATIS等,对于涉及数据库访问的代码如何做单元测试也是我们需要解决的问题。
2 单元测试技术需要解决的问题
有许多的单元测试技术和工具,综合起来,无非是为了解决以下问题。
 驱动(Driver)—驱动被测单元
单元不能独立运行,必须实现调用它们的代码,我们称其为驱动代码,其实最简单的驱动就是实现main方法,大家常用的驱动典型工具就是JUnit。
 构建桩(Stub)—模拟被测单元依赖的对象
被测的孤立单元通常会对其它对象有依赖,这种依赖通常表现在:依赖对象通过被测方法参数传入或者被测对象保存有依赖的对象引用,然后在被测方法中调用了依赖对象的方法。构造依赖对象,一方面我们可以直接将开发完成的并且之前已经过单元测试的代码直接拿过来用,另一方面,也是更常用的方法,就是自己构建模拟对象,我们称其为桩,但自己写桩很麻烦,工作量大,现成构建桩的理想工具是EasyMock。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值