最近忙着做项目,折腾新电脑,玩game。。。今天补点作业

测试问题。
1. Service间相互有依赖,在单元测试时无法直接调用其它Service。
    修改ServiceLocator, 允许setService(name,mockService). 这样就可以在测试时临时设定service为匿名内部mock类。被测代码在调用ServiceLocator.getService(name)时就取得了mockService.

2. 相关依赖对象不是调用getService出来的,是new出来的。
    这种情况下可以用同名mock类覆盖原来的类定义,但是有两个缺点:1.mock类比较死板,不一定能适应不同测试。2.不能功能的代码混合在一个mock类里面,要依靠外部信息(环境等)才能测试,单元测试复杂化
    我的想法是new出来的依赖对象一般不复杂,不要mock,尽量先对它们测试完成,可用,然后直接使用。

3. 代码覆盖率
    这个考查参数很有趣,jtest可以帮助自动生成大部分测试代码,并且统计覆盖率结果(不知道怎样得到的)。100%覆盖率可以保证各部分代码都被执行到。想想以前很多运行bug都是没执行过的代码第一次执行造成的,所以强调这个参数还是很有必要的。不过。。。。可能要加班才能完成目标啊,太多测试代码了 :(

posted on 2004-11-03 21:13  steeven  阅读(1053)  评论(1编辑  收藏  举报