テストフラグのgoフラグから学びます
そして、プロジェクトにいくつかのテスト ファイルを作成します。
これは私のservice
フォルダです:
- サービス
- family_limit_settings.go
- family_limit_settings_test.go
- xxxxxx.go (その他はソース ファイルに移動)
- xxxxxx_test.go (他はソースファイルをテストする)
私のfamily_limit_settings_test.go
内容は次のとおりです。
func TestSaveSettings(t *testing.T) {
// todo
}
func TestListByFamilyId(t *testing.T) {
// todo
}
func TestFamilyLimitVerify(t *testing.T) {
// todo
}
func BenchmarkFamilyListByFamilyId(b *testing.B) {
// todo
}
func BenchmarkFamilySaveSettings(b *testing.B) {
// todo
}
func BenchmarkFamilyLimitVerify(b *testing.B) {
// todo
}
私の最初の質問
このサービスファイルとcd
実行コマンドは次のとおりです。
go test -v -bench=.
しかし、ベンチマーク関数ではない他のテスト関数を実行していることがわかりました。
私の2番目の質問
go test -v -bench=. -run=BenchmarkFamilyListByFamilyId
名前の付いたベンチマーク関数を実行したいのですが、BenchmarkFamilyListByFamilyId
すべてのベンチマーク関数が実行されることがわかりました。