返回介绍

对测试较好的开发方式

发布于 2024-08-18 11:54:28 字数 1184 浏览 0 评论 0 收藏 0

有些代码比其他代码更容易测试。对于测试来讲理想的代码要有明确定义的接口,没有过多的状态或者其他的“设置”,并且没有很多需要审查的隐藏数据。

如果你写代码的时候就知道以后你要为它为写测试的话,会发生有趣的事情:你开始把代码设计得容易测试!幸运的是,这样的编程方式一般来讲也意味着会产生更好的代码。对测试友好的设计往往很自然地会产生有良好组织的代码,其中不同的部分做不同的事情。

测试驱动开发

测试驱动开发(TDD)是一种编程风格,你在写真实代码之前就写出测试。TDD的支持者相信这种流程对没有测试的代码来讲会做出极大的质量改进,比写出代码之后再写测试要大得多。

这是一个争论很激烈的话题,我们不想搅进来。至少,我们发现仅通过在写代码时想着测试这件事就能帮助把代码写得更好。

但不论你是否使用TDD,其结果总是你用代码来测试另一些代码。本章旨在帮助你把测试做得既易读又易写。

在所有的把一个程序拆分成类和方法的途径中,解耦合最好的那一个往往就是最容易测试的那个。另一方面,假设你的程序内部联系很强,在类与类之间有很多方法的调用,并且所有的方法都有很多参数。不仅这个程序会有难以理解的代码,而且测试代码也会很难看,并且既难读又难写。

有很多“外部”组件(需要初始化的全局变量、需要加载的库或者配置文件等)对写测试来讲也是很讨厌的。

一般来讲,如果你在设计代码时发现:“嗯,这对测试来讲会是个噩梦”,这是个好理由让你停下来重新考虑这个设计。表14-1列出一些典型的测试和设计问题:

另一方面,如果对于你的设计容易写出测试,那是个好现象。表14-2列出一些有益的测试和设计的特征。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文