首页 > 其他分享 >Go语言精进之路读书笔记第41条——有层次地组织测试代码

Go语言精进之路读书笔记第41条——有层次地组织测试代码

时间:2024-03-01 12:56:31浏览次数:23  
标签:销毁 读书笔记 41 Go 测试 测试代码 固件

聚焦位于测试包内的测试代码该如何组织

41.1 经典模式—平铺

测试函数各自独立,测试函数之间没有层级关系,所有测试平铺在顶层

41.2 Unit家族模式

测试套件(Test Suite)和测试用例(Test Case)

41.3 测试固件

测试固件是一个人造的、确定性的缓解,在这个环境中进行测试,测试结果是可重复的

一般使用setUp和tearDown来表示测试固件的创建/设置与销毁/拆除

  • Go 1.14版本testing包增加来testing.Cleanup方法,为测试固件的销毁提供了包级别原生的支持
  • Go 1.4版本引入了TestMain,使得包级别测试固件的常见和销毁有了正式的施展舞台

常见场景:

  • 将一组已知数据加载到数据库中,测试结束后清除这些数据
  • 复制一组特定的文件,测试结束后清除这些文件
  • 常见伪对象(fake object)或模拟对象(mock object),并为这些对象设定测试时所需的特定数据和期望结果

标签:销毁,读书笔记,41,Go,测试,测试代码,固件
From: https://www.cnblogs.com/brynchen/p/18046727

相关文章

  • 程序是怎么跑起来的第六章读书笔记
    第六章:进程和线程1.进程:进程是计算机中程序的执行实例。每个进程都有自己的内存空间和系统资源(如文件描述符),相互之间互不干扰。操作系统负责在进程之间切换,并确保每个进程都得到足够的CPU时间。2.线程:线程是进程中的一个执行路径。与进程相比,线程共享同一个地址空间和系统资......
  • 程序是怎么跑起来的前三章读书笔记
    在《程序是怎么跑起来的》的前三章中,作者用平易近人的语言,引导我们了解计算机程序的基础知识。以下是我的读书笔记:第一章讲述了计算机的基础知识,包括计算机的组成和原理。作者详细解释了计算机的基本结构,如CPU、内存和存储设备等,并阐述了计算机如何通过这些硬件设备实现信息处理......
  • 程序是怎么跑起来的第五章读书笔记
    第五章:程序的编译和链接1.编译过程:程序首先需要被翻译成机器语言,这一过程称为编译。编译器的任务是将源代码(例如C++或Java代码)转换成机器代码,后者可以直接由计算机硬件执行。2.链接过程:编译只是将源代码转换成目标文件,这些文件包含的是机器码和各种符号(例如变量和函数名)。链......
  • 程序是怎么跑起来的第四章读书笔记
    第四章:内存管理1.内存的分配方式:程序在运行时,操作系统会为其分配一块内存区域,这块内存区域称为“堆”。堆的大小在程序运行期间可以动态地变化。当程序需要更多的内存时,可以从堆中分配;当内存不再需要时,可以将其返回给堆。2.内存的回收:为了防止内存泄漏,操作系统需要跟踪哪些内......
  • p4137-solution
    P4137Solutionlink考虑建主席树:权值线段树的叶子维护这个权值最后出现的下标,push_up的时候取\(\min\)。这样一个区间的\(\min\)小于\(k\)意味着有一个权值最后出现的下标小于\(k\),也就是说\(k\)后面没有出现这个权值。也就是说mex就在这个区间内。这样询问的时候......
  • 代码随想录 第八天 | 344.反转字符串 ● 541. 反转字符串II ● 卡码网:54.替换数字 ●
    LeetCode:344.反转字符串-力扣(LeetCode)思路:双指针的想法用while循环遍历两侧指针,效率高classSolution{publicvoidreverseString(char[]s){inti=0,j=s.length-1;while(i<j){chartemp;temp=s[j];......
  • 我与计算机第二章读书笔记
    在阅读《我与计算机》这本书的第二章时,我感受到了计算机与人类之间的密切关系。这一章主要讲述了计算机的起源、发展以及如何影响我们的生活。通过作者的叙述,我对计算机有了更深入的了解,同时也对它在我们生活中的角色有了更清晰的认识。首先,我了解到计算机并不是一个突然出现的事......
  • 读书笔记《梦断代码》
    《梦断代码》主要围绕OSAF主持的Chandler项目进行展开,深入剖析了软件开发过程中的种种问题和挑战。通过作者的详细叙述,我仿佛置身于项目的开发现场,亲身经历了那些充满波折和挫折的时刻。在Chandler项目的开发过程中,作者展示了各种技术难题、团队沟通问题以及项目管理挑战。这些问......
  • 一月读书笔记《程序员修炼之道:从小工到专家》
     书中对个人责任和职业发展观念的阐述,让我深受触动。我意识到,作为一名程序员,我们所承担的不仅仅是一份工作,更是一份沉甸甸的责任。每一行代码、每一个程序都是我们用心创造的作品,它们不仅仅是为了完成任务而存在,更是在无形中推动着社会的进步。我们的工作成果可能会影响到成千......
  • Go语言精进之路读书笔记第40条——理解包内测试与包外测试的差别
    测试代码存放在包含TestXxx函数的以*_test.go文件名结尾的文件中40.1官方文档的“自相矛盾”包内测试:测试代码放在与被测包同名的包中包外测试:测试代码放在名为被测包包名+"_test"的包中40.2包内测试与包外测试包内测试:优:白盒测试,高覆盖率缺:测试代码自身需要经常性的维......