如何在go语言中使用原生的testing模块书写测试模块
1.首先对于test模块如何去命名
按照官方的规定在书写test包的时候,应该以源文件名加上_test.go的结尾来书写测试包。如原文件名为`main.go`则测试包按照规定应该写为`main_test.go`。当然假如你的这两个文件在同一个文件夹内是没有问题的,而且只要保证是_test结尾即可。
2.测试包的举例
源文件 main.go
package main
import "fmt"
func gotest(num int) {
total := 0
for n := 0; n < num; n ++ {
total += n
fmt.Println(total)
}
}
func main() {
gotest(100)
}
测试文件 main_test.go
package main
import (
"testing"
)
func TestYou(t *testing.T) { // 注意这里的TestYou必须采用驼峰命名法
gotest(100)
}
3. 最后在终端执行 go test
即可,也可以明确指明文件 go test main.go main_test.go
或者 test go -v
4.如何有顺序的测试包中的代码呢?
对于test包中的代码执行是没有什么顺序可言的,但是若想让代码测试有顺序,比如在做web开发的时候,你应该先连接数据库等操作。所以这个时候就用到了t.run()这个函数了。
主函数 main.go
package main
import "fmt"
func gotest(num int) {
total := 0
for n := 0; n < num; n ++ {
total += n
}
fmt.Println(total)
}
func main() {
gotest(100)
}
测试函数 main_test.go
package main
import (
"testing"
)
func testYou1(t *testing.T) {
gotest(100)
}
func testYou2(t *testing.T) {
gotest(100)
}
func TestAll(t *testing.T) {
t.Run("testYou1", testYou1)
t.Run("testYou2", testYou2)
}
此外TestMain()函数会最先执行
Benchmark压力测试
有疑问加站长微信联系(非本文作者)