o语言自带了 testing 测试包,可以进行自动化的单元测试,输出结果验证,并且可以测试性能。
- 在命名文件时文件名必须以_test.go结尾
- 每个测试用例的名称需要以测试函数的名称要以Test或Benchmark开头,,后面可以跟任意字母组成的字符串,但第一个字母必须大写,例如 TestAbc()
- 测试用例文件不会参与正常源码的编译,不会被包含到可执行文件中
- 需要使用 import 导入 testing 包
- 单元测试则以(t *testing.T)作为参数,性能测试以(t *testing.B)做为参数
- 测试用例文件使用go test命令来执行,源码中不需要 main() 函数作为入口,所有以_test.go结尾的源码文件内以Test开头的函数都会自动执行。
Go语言的 testing 包提供了三种测试方式,分别是单元(功能)测试、性能(压力)测试和覆盖率测试。
user_manager_test.go
package main
import "testing"
func TestCreateUser(t *testing.T) {
user := CreateUser()
if user!="success"{
t.Error("测试失败")
}
}
func BenchmarkCreateUser(b *testing.B) {
for i := 0; i < b.N; i++ {
CreateUser()
}
}