首页 > 学院 > 开发设计 > 正文

go语言测试test

2019-11-06 08:50:53
字体:
来源:转载
供稿:网友

Go语言通过testing包提供自动化测试功能。包内测试只要运行命令 go test,就能自动运行符合规则的测试函数。Go语言测试约定规则1.一般测试func TestXxx(*testing.T)测试行必须Test开头,Xxx为字符串,第一个X必须大写的[A-Z]的字幕为了测试方法和被测试方法的可读性,一般Xxx为被测试方法的函数名。

2.性能测试func BenchmarkXxx(*testing.B)性能测试用Benchmark标记,Xxx同上。

3.测试文件名约定go语言测试文件名约定规则是必须以_test.go结尾,放在相同包下,为了方便代码阅读,一般go源码文件加上_test比如源文件my.go 那么测试文件如果交your_test.go,her_test.go,my_test.go都可以,不过最好的还是my_test.go,方便阅读

举例,源文件my.go

Python代码  收藏代码package my    func add(x, y int) int {      return x + y  }  

 创建一个my_test.go文件,需要引入testing

Python代码  收藏代码package my    import "testing"    func TestAdd(t *testing.T) {      if add(1, 2) != 3 {          t.Error("test foo:Addr failed")      } else {          t.Log("test foo:Addr pass")      }  }    func BenchmarkAdd(b *testing.B) {      // 如果需要初始化,比较耗时的操作可以这样:      // b.StopTimer()      // .... 一堆操作      // b.StartTimer()      for i := 0; i < b.N; i++ {          add(1, 2)      }  }  

 运行测试 go test,输出:

PASS
ok github.com/my 0.010s要运行性能测试,执行命令go test -test.bench=".*"输出PASSBenchmarkAdd 2000000000 0.72 ns/opok github.com/my 1.528s


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表