WEB开发网
开发学院软件开发Java 敏捷开发中高质量 Java 代码开发实践 阅读

敏捷开发中高质量 Java 代码开发实践

 2010-02-23 00:00:00 来源:WEB开发网   
核心提示: 在用例设计完成之后,下一步的工作就是进行测试用例的评审,敏捷开发中高质量 Java 代码开发实践(5),个人的理解和经验始终是有限的,用例评审可以借集体之力,可以顺利的得到模拟对象的返回值,也需要对模拟对象进行错误情况的模拟,对用例设计进入查漏补缺,进一步保证测试用例的有效性

在用例设计完成之后,下一步的工作就是进行测试用例的评审。个人的理解和经验始终是有限的,用例评审可以借集体之力,对用例设计进入查漏补缺,进一步保证测试用例的有效性。由于单元测试属于白盒测试范畴,它主要通过对代码的逻辑结构进行分析来设计测试用例,因此,评审员的选择最好以理解代码逻辑结构为前提,如果评审员来自相关模块,还能够有效的发现模块相关性和依赖性所带来的问题。

模拟对象技术

在实际项目中,开发人员自己的代码往往需要和其他的代码模块或系统进行交互,但在测试的过程中,这些需要被调用的真实对象常常很难被实例化,或者这些对象在某些情况下无法被用来测试,例如,真实对象的行为无法预测,真实对象的行为难以触发,或者真实对象的运行速度很慢。这时候,就需要使用模拟对象技术(Mock),利用一个模拟对象来模拟我们的代码所依赖的真实对象,来帮助完成测试,提高测试覆盖率,从而提高代码质量。模拟对象技术利用了在面向接口的编程中,由于代码直接对接口进行调用,所以代码并不知道引用的是真实对象还是模拟对象,这样就可以顺利的完成对代码的测试。

模拟技术有很多种,如 jMock,EasyMock,Mockito,PowerMock 等等。其中 Mockito 消除了对期望行为的需求,避免了这些代码的大量初始化。

图 8. Mockito 示例

敏捷开发中高质量 Java 代码开发实践

在模拟对象过程中,先模拟一个需要调用的 List 对象 LinkedList,再设定这个对象的行为,当调用 get(0) 的时候,返回”first”。这样,测试代码就可以利用这个对象来测试我们的功能代码,需要调用和返回值的时候,可以顺利的得到模拟对象的返回值。也需要对模拟对象进行错误情况的模拟,保证代码对错误的处理的正确性。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:敏捷 开发 中高

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接