下载此文档

一种Golang单元测试打桩工具.docx


文档分类:通信/电子 | 页数:约7页 举报非法文档有奖
1/7
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/7 下载此文档
文档列表 文档介绍
一种Golang单元测试打桩工具.docx一种Golang单元测试打桩工具周雷上海中兴软件有限责任公司摘要:介绍一种Golang语言的单元测试打桩工具。TDD(测试驱动开发)中需要先写单元测试再实现功能,但Golang自带测试工具Testing不能满足TDD实践。通过对比Golang几个流行的单元测试打桩工具,实例演示了Monkey打桩完成单元测试。关键词:Golang工具;TDD技术;Monkey;作者简介:周雷(1984-),男,工程师,硕士,研究方向:虚拟化、持久化存储。收稿日期:2017-09-21Received:2017-09-211概述TDD是测试驱动开发(TestDrivenDevelopment)的英文简称,是敏捷开发中的一项核心实践和技术,也是一种设计方法论。TDD的原理是在开发功能代码Z前,先编写单元测试用例代码,测试代码确定需要编写什么产品代码。TDD实践都是先写单元测试,,在写单元测试的时候,都是先假设这个结构体、函数、对象等已经实现,运行gotest的吋候编译和测试都通过不了,需要开发者一边完善代码,一边重复运行g。test,一直到完成开发,这是一个非常好的****惯。2问题提出Go木身提供了一套轻量级的测试框架。符合规则的测试代码会在运行测试时被自动识别并执行。单元测试源文件的命名规则如下:在需要测试的包下面创建以"_tcst”结尾的go文件,形如[]*_test・go[2]oGotest是Golang语言自带的测试工具,只是完成了基本的单元测试框架,没有提供对被测函数调用的函数打桥的工具。基于TDD开发模式下,开发者在编写单元测试的吋候,希望有一个打桩类似C++语言MockCppI具。如果调用函数没有实现,被测函数中使用打桩工具,可顺利地完成测试。这是来自《重构一改善既有代码的设计》的例子,不讨论重构话题,只用来做示例,“实例非常简单,这是一个影片出租店用的程序,计算每一个顾客的消费金额并打卬详情。操作者告诉程序:顾客租了哪些影片、租期多长,程序便根据租凭吋间和影片类型算出费用。影片分为3类:普通片、儿童片和新片。除了计算费用,还要为常客计算积分,积分会根据租片种类是否为新片而有不同⑴。”图1影片出租店UML图 下载原图拿customer,go的StateMent方法举例:func(customer*Customer)StateMeitotalAmount:=float64()frequentRenterPoints:=0result:="RentalRecordfor"Name()+,,\(len()for_」ental:=:=float64()switch「().G<caseREGULAR:thisAmount+=€thisAmount+=1DaysRented()-2))*}caseNEW_RELEASE:thisAmount+=DaysRented()*3)frequentRenterPoints++if(().NEW_RELEASE)&&(\>1){freq

一种Golang单元测试打桩工具 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数7
  • 收藏数0 收藏
  • 顶次数0
  • 上传人pppccc8
  • 文件大小90 KB
  • 时间2019-07-22