目录

测试与文档

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()
}