您的位置:首页 > 编程语言 > Go语言

Golang 测试

2016-08-05 09:29 337 查看
go的一些测试的方法,懒得跑结果了, 直接上源代码, 心累!

package main

/**
go 测试相关的一些测试方法
性能测试
超时测试
基准测试
内容正确性测试
代码覆盖测试
**/

// 代码覆盖测试
// go test -cover -coverprofile=cover.out -covermode=count
// go tool -cover -html=cover.out 以html 页面打开结果
import (
"os"
"testing"
"time"
)

func TestA(t *testing.T) {}
func TestB(t *testing.T) {}
func Benchmark(t *testing.B) {}

func sum(n ...int) int {
var ret int
ret = 0

for _, i := range n {
ret += i
}
return ret
}

// go test -v -bench .
// go test -v -bench . -benchmem -cpu 1,2,4 -benchtime 30s
func BenchmakSum(b *testing.B) {
for i := 0; i < b.N; i++ {
if sum(1, 2, 3) != 6 {
b.Fatal("sum fatal error")
}
}
}

// benchmark test go test -v -test.bench .
func TestMain(m *testing.M) {
println("Setup")
code := m.Run()
println("teardown")
os.Exit(code)
}

// go test -v -run "(?i)sum"
func TestSum(t *testing.T) {
time.Sleep(time.Second * 2)
if sum(1, 2, 3) != 6 {
t.Fatal("sum error")
}
}

// timeout test go test -v -timeout 3s
func TestTimeout(t *testing.T) {
time.Sleep(time.Second * 5)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  golang go