当前位置: 首页 > wzjs >正文

开封+网站建设+网络推广重庆快速网络推广

开封+网站建设+网络推广,重庆快速网络推广,wordpress免插件,wordpress主页帖子不分页概述 第十二章围绕单元测试展开,阐述了单元测试的实践与重要性,通过对比其他测试类型,突出其特点,还介绍了单元测试的最佳实践、避免的反模式以及与测试替身相关的内容,为编写高质量单元测试提供指导。 章节概要 1…

概述

第十二章围绕单元测试展开,阐述了单元测试的实践与重要性,通过对比其他测试类型,突出其特点,还介绍了单元测试的最佳实践、避免的反模式以及与测试替身相关的内容,为编写高质量单元测试提供指导。
在这里插入图片描述

章节概要

1. 单元测试的重要性

单元测试是测试中范围较窄的类型,通常针对单个类或方法。
单元测试通过快速、确定性的测试帮助工程师提高生产力。
单元测试应覆盖代码的核心逻辑,确保代码变更不会引入缺陷。

2. 测试的可维护性

测试代码应尽量减少维护成本,只在必要时更新。
测试的脆弱性(如因无关变更而失败)会显著增加维护负担。
测试应通过公共API进行,避免依赖实现细节。

3. 防止脆弱测试

不变的测试:测试代码应尽量减少变更,除非系统行为发生变化。
通过公共API测试:测试应模拟系统的真实使用方式。
测试状态而非交互:关注系统的最终状态,而不是内部交互过程。

4. 编写清晰的测试

测试的完整性和简洁性:测试代码应包含所有必要信息,同时避免无关细节。
基于行为的测试:测试应关注系统的具体行为,而不是方法的实现。
清晰的测试结构:测试应明确包含“给定”、“当”、“则”三个部分。
有意义的测试名称:测试名称应清晰描述被测试的行为。
避免测试中的逻辑:测试代码应尽量避免复杂的逻辑,保持简单直接。
清晰的失败信息:测试失败时,应提供明确的错误信息。

5. 测试代码的共享:DAMP优于DRY

测试代码应优先追求描述性和有意义,而不是完全避免重复。
测试代码的共享应通过辅助方法实现,而不是依赖全局变量或复杂的初始化逻辑。

6. 测试基础设施

测试基础设施(如测试框架或工具)应标准化,以提高测试的可维护性。
测试基础设施本身也需要测试,以确保其正确性和稳定性。

总结

单元测试是软件工程师确保系统在面对未预见变更时仍能正常工作的强大工具。通过遵循本章介绍的最佳实践,测试可以显著提高代码质量,减少维护成本。Google的单元测试实践表明,清晰、稳定且易于维护的测试是提高开发效率的关键。

精彩语录

1.“测试的主要目的是防止缺陷,其次是提高工程师的生产力。”
“After preventing bugs, the most important purpose of a test is to improve engineers’ productivity.”
解释:单元测试通过快速反馈帮助工程师快速定位问题,从而提高开发效率。
2.“测试的可维护性是关键:好的测试应该‘一劳永逸’。”
“Maintainable tests are ones that ‘just work’: after writing them, engineers don’t need to think about them again until they fail.”
解释:测试代码应尽量减少维护成本,只在必要时更新。
3.“测试应该通过公共API进行,而不是依赖于实现细节。”
“Test via Public APIs.”
解释:通过公共API测试可以减少测试的脆弱性,确保测试与系统的实际使用方式一致。
4.“测试状态,而不是交互。”
“Test state, not interactions.”
解释:关注系统的最终状态比关注内部交互更能反映系统的实际行为。
5.“测试的清晰性至关重要:测试失败时,工程师应能迅速定位问题。”
“A clear test is one whose purpose for existing and reason for failing is immediately clear to the engineer diagnosing a failure.”
解释:清晰的测试能够快速帮助工程师理解测试的意图和失败的原因。
6.“测试应关注行为,而不是方法。”
“Test behaviors, not methods.”
解释:基于行为的测试比基于方法的测试更清晰、更稳定。
7.“测试代码应遵循DAMP原则,而不是DRY原则。”
“Tests and Code Sharing: DAMP, Not DRY.”
解释:测试代码应优先追求“描述性和有意义”,而不是完全避免重复。

http://www.dtcms.com/wzjs/301711.html

相关文章:

  • 做网站页面西安关键词推广
  • 国外js建设网站百度学术论文查重免费检测
  • 什么网站会更有浏览量郑州网站建设制作
  • 深圳移动官网网站建设百度网站提交
  • 全球网站建设俄罗斯搜索引擎yandex官网入口
  • 推荐做那个的电影网站什么推广平台比较好
  • 网站充值支付宝收款怎么做优化教程网
  • 有哪些好用的设计网站有哪些内容网站seo排名优化软件
  • 手机h5模板win7优化工具哪个好用
  • 网络公司给我做网站我有没有源代码版权吗?济南今日头条新闻
  • 社保网站哪里做转入潍坊自动seo
  • wordpress 设置头像apiseo平台是什么意思
  • 网站建设栏目添加seo优化技术
  • 建设银行不招聘网站北京做网络优化的公司
  • 优酷视频放到网站上怎么做交换链接的方法
  • e时代网站制作seo是干什么的
  • 重庆最火的网站汕头seo公司
  • 广州外贸网站建设公司站长工具seo综合查询降级
  • 北京的网站建设收费标准阿里云搜索引擎
  • 一个专门做澳洲直邮的网站吗100%上热门文案
  • 做网站需要用什么软件seo怎样优化网站
  • 天津市住房和城乡建设管理委员会网站成品网站源码的优化技巧
  • 全屏网站模板行者seo
  • 怎么用java做动态网站电商营销策划方案范文
  • 吉林省建设局网站网站关键词有哪些
  • 怎么免费注册网站广州seo关键词优化外包
  • 六安手机网站建设百度认证
  • 厦门网站建设解决方案千锋教育可靠吗
  • 如何申请网站域名seo全网优化推广
  • 怎么制作干花seo模拟点击算法