AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

访谈:新一代 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:061198
用户头像

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

关注

评论

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

没有方向盘和踏板,特斯拉发布无人驾驶出租车;字节豆包推出 AI 智能体耳机 Ola Friend丨 RTE 开发者日报

声网

在API 接口的设计中数据的安全性和完整性,该如何保证?

伤感汤姆布利柏

解锁保险新世界-带你走进保险基本法

京东科技开发者

TON生态小游戏开发:推广、经济模型与UI设计的建设指南

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

万界星空科技光伏能源MES解决方案

万界星空科技

mes 万界星空科技mes 光伏行业 光伏能源行业

哪些情况下 MySQL 配置文件会被截断?

秃头小帅oi

首个 AI 编程认证课程上线!阿里云 AI Clouder 认证:基于通义灵码实现高效 AI 编码

阿里云云效

阿里云 云原生 通义灵码

「软件设计哲学」于延保代码改造中的实践

京东科技开发者

Mac专用投屏工具:AirServer 7 for Mac 激活版

你的猪会飞吗

AIrserver7 Mac软件下载站 AirServer 7 mac激活版

首个 AI 编程认证课程上线!阿里云 AI Clouder 认证:基于通义灵码实现高效 AI 编码

阿里巴巴云原生

阿里云 AI 云原生 通义灵码

软件测试学习笔记丨质量门禁 - SonarQube

测试人

软件测试

浙江鲲鹏昇腾产业与人才创新论坛成功举办!

极客天地

Code Review:探索工程实践之道

京东科技开发者

通义灵码 AI 程序员来了!丨阿里云云原生 9 月产品月报

阿里巴巴云原生

阿里云 云原生 通义灵码

打造你的专属语音助手,基于函数计算托管 CosyVoice 语音模型

阿里巴巴云原生

阿里云 云原生 函数计算

在Vue3中如何实现四种全局状态数据的统一管理?

不在线第一只蜗牛

JavaScript vue.js 前端

登顶!智源BGE首开国产模型Hugging Face月度下载全球第一

智源研究院

Android & iOS 使用 ARMS 用户体验监控(RUM)的最佳实践

阿里巴巴云原生

阿里云 云原生 Arms

Goja—Go 和 JavaScript 的桥梁

FunTester

苹果与英伟达公开分手,谷歌 TPU 芯片成为苹果 AI 训练新利器

中昊芯英

苹果 谷歌 TPU #人工智能 #GPU

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