go test - 基准测试

ddatsh

dev #go go-test

稳定的测试环境

性能测试受环境影响很大,为保证测试的可重复性,尽可能地保持测试环境的稳定

规则

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// fib.go
package main

func Fib(n int) int {

	if n == 0 || n == 1 {
		return n
	}
	return Fib(n-2) + Fib(n-1)
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// fib_test.go
package main

import "testing"

func BenchmarkFib(b *testing.B) {
	for n := 0; n < b.N; n++ {
		Fib(30) // run fib(30) b.N times
	}
}

go test -cover

ref

The Cover Story