在文件中建立一个
main
的函数git
一、传统方式的写法github
package main import "fmt" // 定义一个求和的方法 func sum(n int) int { res := 0 for i := 0; i <= n; i++ { res += i } return res } func main() { res := sum(10) if res != 55 { fmt.Println("sum求和错误") } else { fmt.Println("sum求和正确") } }
二、使用main
函数的缺点shell
main
函数中去调用,这样就要去修改main
函数,若是项目正在运行中,只能中止项目main
函数中,不利于咱们管理代码,感受好臃肿go
语言中的单元测试一、介绍markdown
Go
语言中自带有一个轻量级的测试框架testing
和自带的go test
命令来实现单元测试和性能测试,testing
框架和其余语言中的测试框架相似,能够基于这个框架写针对相应函数的测试用例,也能够基于该框架写相应的压力测试用例并发
二、使用单元测试的优势框架
go
语言中单元测试快速入门一、在刚刚的go
代码同级的目录下建立一个xx_test.go
的文件ide
├── sum.go // 和上面的代码同样的 └── sum_test.go
二、sum_test.go
代码函数
package main import "testing" func TestSum(t *testing.T) { res := sum(10) if res != 55 { t.Fatalf("sum(10)不正确") } else { t.Logf("sum(10)正确") } }
三、在命令行运行高并发
➜ test git:(master) ✗ go test -v # 执行的命令 === RUN TestSum --- PASS: TestSum (0.00s) sum_test.go:10: sum(10)正确 PASS ok github.com/dev/test 0.005s # 计算出这个方法执行的时间 ➜ test git:(master) ✗
四、go
语言中单元测试的总结性能
测试用例的文件必需要以fileName_test.go
结尾[fileName
根据须要测试的文件来写的]
测试用例的函数必须以Test
开头,通常来讲就是Test+
被测试的函数名
测试用例的函数的参数是固定的t *testing.T
一个测试用例中能够有多个测试函数
运行测试用例的指令
go test
:若是运行正确,无日志输出,错误的时候会输出日志go test -v
:运行正确或错误都会输出日志当出现错误时,可使用t.Fatalf
来格式化输出错误信息,并退出程序
t.Logf
方法能够输出相应的日志
PASS
表示测试用例运行成功,FAIL
表示测试用例运行失败
若是文件夹下有不少文件,你仅仅是要测试单个文件的方法
go test -v xx_test.go xx.go
若是文件中有不少测试用例方法,仅仅是测试一个方法
go test -v -test.run 测试用例的函数