写点什么

访谈:新一代 Java 测试:TestNG 和高阶理念

  • 2008-03-07
  • 本文字数:760 字

    阅读完需:约 2 分钟

InfoQ.com 最近采访了新一代Java 测试:TestNG 和高阶理念的作者Hani Suleiman 和Cédric Beust,就针对这本书和他们对测试的总体看法进行了讨论。InfoQ 很荣幸在这里给大家提供该书第二章的节选,“Mocks 和Stubs”。

Cédric Beust 谈到如何令代码变得更加可测试时,说道:

  • 避免静态。非常不幸,由于存在很多难测的代码,使 singleton 和近似的模式把静态变得相当受欢迎。解决这个问题的一个方法是使用依赖注射框架(Hani 和我就很推崇 Guice,我们在书中有提到,但 Spring 也是一个很好的选择)。
  • 别再对“修改代码使之更易测试”而犹豫不决。如果这个修改意味着要将 private 函数改成 protected 或者 public,这常常是个可行的好主意。因为“激活自动测试能力”所得到的收益,往往要比“将函数变得更可见带来的潜在维护成本”要大得多。
  • 接口并没有像很多人希望你所相信得那样糟糕。很多 XP 开发员会跟你说不要引入任何接口,除非你确定至少会有两个类来实现该接口,但我们的处境是每个具体类潜在由两种不同的方式使用:产品中或者测试中。抽取出接口常常是使得你的代码更干净利落更易测试的举动。

Hani Suleiman 还提到,数据库测试是较难测试的内容之一。

的确,有很多工具能够帮助你完成数据库测试,也有很多的技术能够帮助你简化一些相关难题,但我尚未听说有一套好的解决方案,用于为迁移数据而编写测试。如果你根据一组静态数据写测试的话,那么你就会逐渐与真正运行中数据库背道而驰。如果你使用运行中的备份数据的话,那你就不得不处理安全因素,而且你必须确信你没有将敏感数据暴露给开发人员。在银行业,产品世界更是和开发有着严重的屏蔽。所以在保证数据库测试普遍有用性且能与自动测试并发,是需要很多技巧的。

查看文章全文:访谈及书摘:Hani Suleiman 和 Cedric Beust,《新一代Java 测试: TestNG 和高阶理念》 ****

2008-03-07 07:06940
用户头像

发布了 100 篇内容, 共 21.7 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营——第三周学习总结

jiangnanage

源自Google的招聘哲学:你真的了解招聘吗?

伴鱼技术团队

技术管理 技术人 文化 招聘 人才

区块链技术可简化房地产交易流程

CECBC

智能合约 区块链技术 房地产业

架构师训练营第三周 - 总结

Larry

架构师训练营第三周总结

架构师 极客大学架构师训练营

架构师训练营 - 作业 -3- 设计模式

superman

极客大学架构师训练营

Week3学习总结

熊威

架构师训练营第三周学习总结:面向对象设计和设计模式

hifly

设计模式 极客大学架构师训练营 OOD SOLID 策略模式

架构师训练营第三周总结

王鑫龙

架构师训练营第三周学习总结

Bruce Xiong

架构师之面向对象的设计模式

彭阿三

架构师week3总结

平淡人生

架构师训练营-第三周-20200624-单例模式和组合模式

丁亚宁

极客大学架构师训练营 课程作业

深入理解JVM垃圾回收机制 - 引用类型

Skye

深入理解JVM 强引用 软引用 弱引用 虚引用

插入排序

wjchenge

插入排序

一周信创舆情观察(6.15~6.21)

统小信uos

新基建 信创 matlab 舆情

开源项目中的设计模式

dony.zhang

组合模式实现树结构

新世界

架构师课程第三周总结

dongge

第三周设计模式作业

第三周作业:设计模式

Larry

第三周作业

代码重构总结

Lane

极客大学架构师训练营

课堂作业 week3

Dennis

架构师训练营 -week3- 总结

Geek_5a6ca3

架构师训练营-第三周-20200624-学习总结

丁亚宁

极客大学架构师训练营

架构师训练营 -week3- 作业

Geek_5a6ca3

总结03-代码重构

梦子说

极客大学架构师训练营 课程总结

设计模式-单例与组合

ashuai1106

架构师 极客大学架构师训练营

我嗅到了数据开发工程师的危机

Geek_6rptuk

大数据 数据仓库 数据分析 数据开发

第三周学习总结

G小调

访谈:新一代Java测试:TestNG和高阶理念_Java_乔梁_InfoQ精选文章