遗留系统的单元测试的mock技巧

大多数非IT类的外企,基本上都会有一些非常老的遗留系统,对于这些遗留系统的维护和开发有时候是非常痛苦的,想要写单元测试去对一小片代码进行测试有时候非常困难,需要准备的资源非常多,比如datasource,properties文件,jndi等,在这种情况下,如果我们使用继承或者代理的方法来处理,是不适用的,因为代码的强耦合性会使我们无法将继承或者代理的类注入到要测试的类中。这种情况下,我们可以使用aspectJ,在运行时改变方法返回的结果来使用我们自己的mock资源,具体的案例可以参看下面这篇文章。http://www.infoq.com/articles/refactoring-legacy-applications,写的非常不错。其实我们也可以用Javassist,asm或者bcel在运行期载入或者动态生成我们自己的类,然后修改Java class中的内容来使用mock的资源,不过复杂度高了些,毕竟aspectJ已经足够啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值