go语言代码测试
dux003 · · 5352 次点击 · · 开始浏览在go的pkg库里提供了一个单元测试的框架testing,并提供了一个测试工具gotest
规则如下:
如果我们有一个文件add.go,这其对应的测试文件名为add_test.go
在add_test.go中,引入testing库,然后添加测试方法
测试方法的函数必须是如下形式
func TestXXX(t *testing.T) {
//....
}
而且其中第一个'X'还不能是小写字母,如果在测试方法中调用了testing库中的T类的Error,Fail,Fatal等方法则表示发生错误,测试不通过
比如我们有如下文件add.go
package add
func add(a, b int) int {
return a+b
}
编写如下测试文件:
package add
func TestAdd(t *testing.T) {
if add(1,1) != 2 {
t.Error("1+1!=2")
}
}
然后我们执行如下命令:
gotest add_test.go
则在一堆编译运行指令后,会看到最后一行显示为:
PASS
也可以选择写Makefile,那样就可以直接运行
gotest
进行测试,但是有一点需要注意,Makefile中的GOFILES列表里不需要包含*_test.go文件,gotest程序会自动包含,否则会出现重定义错误
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
在go的pkg库里提供了一个单元测试的框架testing,并提供了一个测试工具gotest
规则如下:
如果我们有一个文件add.go,这其对应的测试文件名为add_test.go
在add_test.go中,引入testing库,然后添加测试方法
测试方法的函数必须是如下形式
func TestXXX(t *testing.T) {
//....
}
而且其中第一个'X'还不能是小写字母,如果在测试方法中调用了testing库中的T类的Error,Fail,Fatal等方法则表示发生错误,测试不通过
比如我们有如下文件add.go
package add
func add(a, b int) int {
return a+b
}
编写如下测试文件:
package add
func TestAdd(t *testing.T) {
if add(1,1) != 2 {
t.Error("1+1!=2")
}
}
然后我们执行如下命令:
gotest add_test.go
则在一堆编译运行指令后,会看到最后一行显示为:
PASS
也可以选择写Makefile,那样就可以直接运行
gotest
进行测试,但是有一点需要注意,Makefile中的GOFILES列表里不需要包含*_test.go文件,gotest程序会自动包含,否则会出现重定义错误