TDD
什么是TDD?
TDD是测试驱动开发(Test-Driven Development)的英文简称
TDD原则
以下几个TDD原则,可以简单的构建TDD在脑海中的架构,这次实验我准备使用TDD并以golang为语言编写一个简单的冒泡排序算法。后续的编写也会根据以下原则出发。
- 独立测试
不同代码块之间需相互独立,且有自己的测试 - 测试列表
每新添加一个功能,都需将代码测试加入测试列表 - 测试驱动
由新增的测试来引导代码的发展,新加功能时,需先编写测试代码 - 及时重构
发现代码冗余时,及时对代码进行重构,保持代码的整洁
术语
- 测试
透过实验方法进行数据处理得到结果相关的信息 - 基准测试
将测试的某属性作为基准,与某一基准测试做比较 (类似跑分) - 重构
重新编写代码,将代码的整洁、易读、架构设计集体提高
测试
由于虚拟机跑测试代码有点卡,我重新在windows弄了golang环境,以下测试都是在windows下弄的
首先是按照文檔的hello world及测试
下部份是迭代
TDD,从构建测试开始
先写出测试代码,随后再编写代码,这是TDD中的测试驱动
完善函数
编写了可以通过测试的函数
基准测试
按照文檔标准写了基准测试,并进行了跑分,得到此函数大约需要191ns来完成
练习
修改测试代码,以便调用者可以指定字符重复的次数,然后修复代码
写一个 ExampleRepeat 来完善你的函数文档
Go语言冒泡算法实现TDD实践报告
测试驱动
由于编了一个tostring函数,所以在上面也写了个tostring测试,即「测试列表」
随后让编译能够通过,我这里顺手把toString写了
完善函数
随后跑测试通过
基准测试
检查了下,没有希望重构的部份,这次冒泡排序就完成了
总结
这次主要在简单熟悉golang的语法,还有TDD这个由测试带动的编码方法