本文主要是介绍Go-Testing,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Go-Testing
要点
Go的自动化测试框架比JUnit、PyUnit等更加轻量级。要点如下:
- 测试代码以xxx_test.go方式命名
- 测试代码中import “testing”
- 测试函数形如 func Testxyz(t *Testing.T) {…}
- 执行测试:go test
示例
比较要创建一个mymath package。
mymath.go
package mymathfunc Add(x, y int) int {return x + y
}func Minus(x, y int) int {return x - y
}
mymath_test.go
package mymath_testimport "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│└─shape2the_shape.goD:\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.425sD:\examples\the_go_path\src\mymath>
测试用例全部通过的情况
D:\examples\the_go_path\src\mymath>go test
PASS
ok mymath 0.369sD:\examples\the_go_path\src\mymath>
这篇关于Go-Testing的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!