stone2083

单元测试分享

最近,在小组内部做了一次关于“单元测试”的分享。把自己两年来做单元测试遇到的问题和对单元测试的认识做了一次总结和讨论。

本文不会详细地讲述分享的内容,仅仅是ppt的大纲显示:

使用单元测试前提:
最小的成本,换来最大的收益

单元测试目的

1)测试代码错误(?) -- 不是主要目的
2)便于重构时的测试
3)改善既有代码的设计

分享核心
1)如何脱离“webx“--做隔离测试
2)dal/biz/web 层如何做单元测试
3)如何通过改善代码设计,更方便测试

dal层(数据库访问层)特点:
1)独立,逻辑单一,对表做操作
2)业务相对比较稳定
3)采用ibatis,写sql的方式

dal层测试方式
1)压根儿就不需要测试
2)仅仅配置spring bean,通过日志打印的方式(无法达到自检)
3) 自检方式 -- AbstractTransactionalDataSourceSpringContextTests (高成本,不轻易使用)
需要权衡

biz(业务层)测试方式--分BO和AO:
BO:(即所谓的Service/Manager)
AO:(一个UseCase对应的业务流)
隔离 + 设计 (主要通过代码演示--见附件)

单元测试的缺点
专注于单一业务测试,衔接点容易出错

解决方案
接口输入输出明确
集成测试

web层:
集成测试的入口

分享文档和演示代码 (ppt是在ubuntu下制作,可能效果并不是很好)

备注:
自己对单元测试了解也比较肤浅,欢迎一起探讨

posted on 2008-07-17 22:04 stone2083 阅读(439) 评论(0)  编辑  收藏 所属分类: java


只有注册用户登录后才能发表评论。


网站导航: