测试与文档
Go 语言中文网 第九章 测试
Ginkgo学习笔记 最全的!!!!
Ginkgo 测试框架使用入门
Ginkgo使用指南
Ginkgo官网
GO专家编程 : 第七章:go test
Go 单元测试,基准测试,http 测试
Go Test 单元测试简明教程
高效测试框架推荐之Ginkgo
单元测试
$ go test -v -cover # 测试全部 显示覆盖率
// main_test.go
import (
"testing"
"github.com/stretchr/testify/assert" // 断言库
)
func TestSquare(t *testing.T) {
inputs := [...]int{1, 2, 3}
expect := [...]int{1, 5, 9}
for i := 0; i < len(inputs); i++ {
ret := square(inputs[i])
assert.Equal(t, expect[i], ret)
}
}
$ go test -v -cover
=== RUN TestSquare
main_test.go:14:
Error Trace: main_test.go:14
Error: Not equal:
expected: 5
actual : 4
Test: TestSquare
--- FAIL: TestSquare (0.00s)
FAIL
coverage: 100.0% of statements
exit status 1
FAIL gitlab.xinhulu.com/link/learn/tour-go-zh 0.002s
性能测试
$ go test -v -bench=. -benchmem -run="none" -benchtime="1s"
func BenchmarkItoa(b *testing.B) {
b.ResetTimer()
number := 10
for i := 0; i < b.N; i++ {
strconv.Itoa(number)
}
b.StopTimer()
}