分享
Go-Testing
u013344915 · · 1462 次点击 · · 开始浏览这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
要点
Go的自动化测试框架比JUnit、PyUnit等更加轻量级。要点如下:
- 测试代码以xxx_test.go方式命名
- 测试代码中import "testing"
- 测试函数形如 func Testxyz(t *Testing.T) {...}
- 执行测试:go test
示例
比较要创建一个mymath package。
mymath.go
package mymath
func Add(x, y int) int {
return x + y
}
func Minus(x, y int) int {
return x - y
}
mymath_test.go
package mymath_test
import "mymath"
import "testing"
func TestAdd(t *testing.T) {
ret := mymath.Add(2, 3)
if ret != 5 {
t.Error("Expected 5, got ", ret)
}
}
func TestMinus(t *testing.T) {
ret := mymath.Minus(2, 3)
if ret != -1 {
t.Error("Expected -1, got ", ret)
}
}
目录文件结构
D:\examples>tree /F .
文件夹 PATH 列表
卷序列号为 5645-602F
D:\EXAMPLES
│ helloworld.exe
│ helloworld.go
│ math.txt
│ the_shape.go
│
└─the_go_path
├─pkg
│ └─windows_amd64
│ mymath.a
│ shape.a
│ shape2.a
│
└─src
├─mymath
│ mymath.go
│ mymath_test.go
│
├─shape
│ the_shape.go
│
└─shape2
the_shape.go
D:\examples>
go test
这里略过go install。
mymath.go有错误的情况
D:\examples\the_go_path\src\mymath>go test
--- FAIL: TestMinus (0.00s)
mymath_test.go:16: Expected -1, got 5
FAIL
exit status 1
FAIL mymath 0.425s
D:\examples\the_go_path\src\mymath>
测试用例全部通过的情况
D:\examples\the_go_path\src\mymath>go test
PASS
ok mymath 0.369s
D:\examples\the_go_path\src\mymath>
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
关注微信1462 次点击
下一篇:golang追加写入文件
添加一条新回复
(您需要 后才能回复 没有账号 ?)
- 请尽量让自己的回复能够对别人有帮助
- 支持 Markdown 格式, **粗体**、~~删除线~~、
`单行代码` - 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
- 图片支持拖拽、截图粘贴等方式上传
收入到我管理的专栏 新建专栏
要点
Go的自动化测试框架比JUnit、PyUnit等更加轻量级。要点如下:
- 测试代码以xxx_test.go方式命名
- 测试代码中import "testing"
- 测试函数形如 func Testxyz(t *Testing.T) {...}
- 执行测试:go test
示例
比较要创建一个mymath package。
mymath.go
package mymath
func Add(x, y int) int {
return x + y
}
func Minus(x, y int) int {
return x - y
}
mymath_test.go
package mymath_test
import "mymath"
import "testing"
func TestAdd(t *testing.T) {
ret := mymath.Add(2, 3)
if ret != 5 {
t.Error("Expected 5, got ", ret)
}
}
func TestMinus(t *testing.T) {
ret := mymath.Minus(2, 3)
if ret != -1 {
t.Error("Expected -1, got ", ret)
}
}
目录文件结构
D:\examples>tree /F .
文件夹 PATH 列表
卷序列号为 5645-602F
D:\EXAMPLES
│ helloworld.exe
│ helloworld.go
│ math.txt
│ the_shape.go
│
└─the_go_path
├─pkg
│ └─windows_amd64
│ mymath.a
│ shape.a
│ shape2.a
│
└─src
├─mymath
│ mymath.go
│ mymath_test.go
│
├─shape
│ the_shape.go
│
└─shape2
the_shape.go
D:\examples>
go test
这里略过go install。
mymath.go有错误的情况
D:\examples\the_go_path\src\mymath>go test
--- FAIL: TestMinus (0.00s)
mymath_test.go:16: Expected -1, got 5
FAIL
exit status 1
FAIL mymath 0.425s
D:\examples\the_go_path\src\mymath>
测试用例全部通过的情况
D:\examples\the_go_path\src\mymath>go test
PASS
ok mymath 0.369s
D:\examples\the_go_path\src\mymath>