任何程序都需要进行单元测试,以便在开发阶段就能尽早发现bug,下面是一个Go语言的单元测试案例。
接上一次工程管理的项目,在 sub 目录创建 add.go ,编写一个加法函数:
package sub
/**
* 计算num1 + num2的值
*/
func Add(num1 int, num2 int) int {
return num1 + num2
}
在 add.go 项目的目录下,新建 add_test.go(名称为xxx_test.go,xxx为要测试程序的文件名称),内容如下:
package sub
// 导入测试需要使用的包
import "testing"
/**
* 测试add.go的Add方法
*/
func TestAdd(t *testing.T) { // t是go test时传入的参数
sum := Add(1, 2) // 调用 add.go中的Add函数进行测试
if sum != 3 {
t.Errorf("Add(1, 2) 测试失败,返回值为%v, 1 + 2 应该等于 3", sum)
}
}
运行测试:
cd sub # 切换到sub目录
go test .
修改 add.go 让错误发生:
package sub
/**
* 计算num1 + num2的值
*/
func Add(num1 int, num2 int) int {
return num1 + num2 + 1
}
再次运行 go test . ,结果如下:
============================================================================== 关注 公众号 “HiIT青年” 发送 “go” 获取go安装包。(如果没有收到回复,说明之前取消过关注。)
关注公众号,阅读更多文章。
|
请发表评论