外部テストのカバレッジ統計
Go では、テスト対象のコードと同じパッケージ内にテストを保持することをお勧めします。ただし、コードベースが多数のテスト ファイルで構成されている場合は、これらのテストを別のパッケージに分離して、よりクリーンな構成にすることをお勧めします。このアプローチでは、テストがパッケージのパブリック API へのアクセスに制限され、より適切な構成とカプセル化が促進されます。
次の構造があるとします:
api_client: Client.go ArtistService.go api_client_tests: ArtistService.Events_test.go ArtistService.Info_test.go UtilityFunction.go
Running go test Bandsintown-api/api_client_tests -cover reports 100%
解決策:
パッケージをマージせずにテスト対象の api_client パッケージのカバレッジ統計を取得するには:
go test -cover -coverpkg "api_client" "api_client_tests"
ただし、コード ファイルとテスト ファイルを別のディレクトリに分離することは Go の規約と矛盾することに注意してください。パッケージの外部にはアクセスできないブラックボックス テストが必要な場合は、ファイルを再編成せずにテストを新しいパッケージに移動することを検討してください:
api_client.go:
<code class="go">package api_client // Only accessible within the package var privateVar = 10 func Method() {}</code>
api_client_test.go:
<code class="go">package api_client_tests import "testing" func TestClient(t *testing.T) { Method() // Still accessible from another package }</code>
以上がGo で外部テストの正確なカバレッジ統計を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。