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)