テスト
テスト
helperの使い方
code:go
package example
import (
"testing"
)
//こっちは出力されない
func errorf(tb testing.TB, want, got int) {
tb.Errorf("want = %d, got = %d", want, got)
}
//tb.Helper()を宣言しないと出力されない
func errorfHelper(tb testing.TB, want, got int) {
tb.Helper()
tb.Errorf("want = %d, got = %d", want, got)
}
テストの前後に処理を入れる
code:go
//テストの前後に処理を挟むにはTestMain(m *testing.M)を使う
func TestMain(m *testing.M) {
func() {
fmt.Println("Prepare test")
}()
//m.Run()前後に処理を書くことでm.Run()を中心に処理が実行される。
ret := m.Run()
func() {
fmt.Println("Teardown test")
}()
os.Exit(ret)
}
テストが増えると新しく加えたもの以外も実行されるため、遅い => 差分テストをする Qiita モック
テスト用のデータはテストを行うファイル内に書く
JSONのテストをするときは構造体にJSONのタグを貼って書くとわかりやすいし、テストしやすい。
参照