github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/testing/cover.go (about) 1 // Copyright 2013 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // テストカバレッジのサポート。 6 7 package testing 8 9 // CoverBlock は単一の基本ブロックのカバレッジデータを記録します。 10 // フィールドは1からインデックス付けされています。エディタのように、 11 // ファイルの開始行は1です。例えば、列はバイト単位で測定されます。 12 // 注: この struct はテストインフラストラクチャ内部で使用されるものであり、変更される可能性があります。 13 // まだ Go 1 互換性ガイドラインにカバーされていません。 14 type CoverBlock struct { 15 Line0 uint32 16 Col0 uint16 17 Line1 uint32 18 Col1 uint16 19 Stmts uint16 20 } 21 22 // Coverはテストカバレッジのチェックに関する情報を記録します。 23 // 注意: この構造体はテストインフラストラクチャに内部的に使用され、変更される可能性があります。 24 // Go 1の互換性ガイドラインではまだ対象外です。 25 type Cover struct { 26 Mode string 27 Counters map[string][]uint32 28 Blocks map[string][]CoverBlock 29 CoveredPackages string 30 } 31 32 // Coverageは現在のコードカバレッジを[0, 1]の範囲で示します。 33 // カバレッジが有効でない場合、Coverageは0を返します。 34 // 35 // 大量のシーケンシャルなテストケースを実行する際に、各テストケースの後にCoverageをチェックすることは 36 // 新しいコードパスを実行するテストケースを特定するのに役立ちます。 37 // これは 'go test -cover' と 'go tool cover' によって生成されるレポートの代替ではありません。 38 func Coverage() float64 39 40 // RegisterCoverはテストのカバレッジデータの累積器を記録します。 41 // 注意:この関数はテストインフラストラクチャに内部的なものであり、変更される可能性があります。 42 // まだGo 1の互換性ガイドラインでカバーされていません。 43 func RegisterCover(c Cover)