golang性能テスト
1627 ワード
書式:
Fnc BenchmarkXxx(b*testingn.B)
単純コード:
go test-bench=「.」-parallel 50設定併設 -count n設定回数 testings.T
判定失敗インターフェース Fail失敗続き FailNow失敗 終了
印刷情報インターフェース Logデータストリーム(cout類似) Logf format(printf類似) SkipNowは、現在のテスト をスキップします。 Skipedは をスキップしたかどうかを検出する。
複合インターフェース生成: Error/Errowrf報告エラー続き[Log/Logf+Fail] Fatel/Fatelfレポートエラー終了[Log/Logf+FailNow] Skip/Skipfレポートとスキップ[Log/Logf+SkipNow] testings.B
まず、testings.Bはtesting.Tのすべてのインターフェースを持っています。 SetBytes(i uint 64)の統計メモリの消費量は、必要ならば です。 SetParalelism(p int)は、並列数を指定します。 StartTimer/StopTimer/RestertTimer操作タイマ testing.PB Next()インターフェース。ループを継続するかどうか判断する 注意点ファイルはtest.goの最後の が必要です。
Fnc BenchmarkXxx(b*testingn.B)
単純コード:
package examples
import (
"io/ioutil"
"net/http"
"testing"
)
//
func BenchmarkLoopsParallel(b *testing.B) {
b.RunParallel(func(pb *testing.PB) { //
for pb.Next() {
resp, err := http.Get("http://10.10.200.128:8080/image?t=MDA")
if err != nil {
// handle error
}
cookies := resp.Cookies()
verify_key := ""
for _, v := range cookies {
if v.Name == "VERIFY_KEY" {
verify_key = v.Value
}
}
if err != nil {
// handle error
}
defer resp.Body.Close()
if verify_key == "" {
b.Fail()
}
}
})
}
実行go test-bench=「.」
判定失敗インターフェース
印刷情報インターフェース
複合インターフェース生成:
まず、testings.Bはtesting.Tのすべてのインターフェースを持っています。