最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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

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

关注

评论

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

鼠标自动点击工具 RapidClick for Mac激活最新版

南屿

Mac软件 RapidClick破解版

VUE3子表格嵌套分页查询互相干扰的问题解决

EquatorCoco

前端 前端开发 Vue3

基于大模型的低代码平台架构

百度开发者中心

人工智能 低代码 大模型

软件测试学习笔记丨JMeter_实现分组并发

测试人

软件测试

什么是DDOS流量攻击,DDoS防护安全方案

德迅云安全杨德俊

聚道云软件连接器:打通金蝶云星空与招商银行CBS,提升企业财务和银行业务效率

聚道云软件连接器

案例分享

小程序技术实践:如何快速开发适配鸿蒙的App

Geek_2305a8

传统开发与低代码/无代码开发的区别

这我可不懂

软件开发 低代码 JNPF

区块链游戏解说:什么是 SecondLive

Footprint Analytics

区块链 加密货币 代币 NFT

如何将照片组合在一起?图片照片拼接合成软件合集

南屿

照片编辑 图片拼接 照片合成

iOS App审核状态和审核时间管理指南

在 Windows 平台下安装与配置 MySQL 5.7.36

小魏写代码

大模型开发:从数据挖掘到智能应用

百度开发者中心

人工智能 大数据 大模型

flutter+go构建的即时通讯app,ChatCraft

编程的平行世界

golang #开源项目 fluter

SpringBoot实现动态数据源配置

不在线第一只蜗牛

Java 后端 springboot

人工智能:测试开发的新宠儿

测试人

软件测试

秒级响应,显著增效:明日控股携手奇点云,打造大宗贸易的数据中台标杆

奇点云

数据中台 数据资产 奇点云 明日控股

鸿蒙5.0发布时间已定!移动开发加速器往何处寻找?

Geek_2305a8

Total Video Converter Pro超级转霸 Mac视频转换软件 v5.1.0下载

南屿

NFTScan 与 OneID 达成合作伙伴,支持多类型 DID 搜索!

NFT Research

NFT NFTScan

2024谷歌SEO入门指南

九凌网络

新来的一个同事,把SpringBoot参数校验玩的那叫一个优雅

快乐非自愿限量之名

Java 前端 springboot

云API错误码的设计规则

EquatorCoco

Python 数据库 API

Mac好用的多窗格文件管理器QSpace Pro v4.0.4中文版

南屿

一次编写,多次利用:提高 API 构建效率的技巧

Apifox

前端 后端 开发工具 Apifox API

【大模型】快速体验百度智能云千帆AppBuilder搭建知识库与小助手

阿Q说代码

知识库 千帆大模型平台 AppBuilder 小助手

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