# Functions
AllocsPerRunは、関数fの呼び出し中に行われる平均的な割り当ての数を返します。 返り値はfloat64型ですが、常に整数値になります。
割り当ての数を計算するために、まず関数はウォームアップとして一度実行されます。 指定された回数の実行における平均的な割り当ての数が測定され、返されます。
AllocsPerRunは、計測中にGOMAXPROCSを1に設定し、戻る前に元に戻します。.
Benchmarkは単一の関数をベンチマークします。これは、"go test"コマンドを使用しない カスタムベンチマークを作成するのに便利です。
もしfがテストフラグに依存しているなら、Benchmarkを呼び出す前と [flag.Parse] を呼び出す前に、それらのフラグを登録するために [Init] を使用する必要があります。
もしfがRunを呼び出すなら、結果は単一のベンチマーク内で連続して Runを呼び出さないすべてのサブベンチマークを実行するための推定値になります。.
Coverageは現在のコードカバレッジを[0, 1]の範囲で示します。 カバレッジが有効でない場合、Coverageは0を返します。
大量のシーケンシャルなテストケースを実行する際に、各テストケースの後にCoverageをチェックすることは 新しいコードパスを実行するテストケースを特定するのに役立ちます。 これは 'go test -cover' と 'go tool cover' によって生成されるレポートの代替ではありません。.
CoverModeはテストカバレッジモードの設定を報告します。値は「set」、「count」または「atomic」です。テストカバレッジが有効でない場合、戻り値は空になります。.
Initはテストフラグを登録します。これらのフラグは、テスト関数を実行する前に"go test"コマンドによって自動的に登録されるため、Initは、"go test"を使用せずにBenchmarkなどの関数を呼び出す場合にのみ必要です。
Initは並行して呼び出すことは安全ではありません。 すでに呼び出されている場合は、効果がありません。.
Mainは"go test"コマンドの実装の一部である内部関数です。 これは、クロスパッケージであり、「internal」パッケージより前にエクスポートされました。 "go test"ではもはや使用されていませんが、他のシステムにはできるだけ保持されます。 "go test"をシミュレートする他のシステムが、Mainを使用する一方で、Mainは更新できないことがあります。 "go test"をシミュレートするシステムは、MainStartを使用するように更新する必要があります。.
MainStartは「go test」によって生成されたテストで使用することを意図しています。 直接呼び出すことは意図されておらず、Go 1の互換性ドキュメントの対象外です。 リリースごとにシグネチャが変更される可能性があります。.
RegisterCoverはテストのカバレッジデータの累積器を記録します。 注意:この関数はテストインフラストラクチャに内部的なものであり、変更される可能性があります。 まだGo 1の互換性ガイドラインでカバーされていません。.
RunBenchmarksは内部関数ですが、クロスパッケージであるためにエクスポートされています。 これは"go test"コマンドの実装の一部です。.
RunExamples は内部関数ですが、クロスパッケージとなっているため公開されています。 これは「go test」コマンドの実装の一部です。.
RunTestsは内部関数ですが、クロスパッケージであるためにエクスポートされています。 これは"go test"コマンドの実装の一部です。.
Short は -test.short フラグが設定されているかどうかを報告します。.
Testingは現在のコードがテストで実行されているかどうかを報告します。 "go test"で作られたプログラムではtrueを報告し、 "go build"で作られたプログラムではfalseを報告します。.
Verboseは、-test.vフラグが設定されているかどうかを報告します。.
# Structs
Bはベンチマークのタイミングを管理し、実行する繰り返し回数を指定するために [Benchmark] 関数に渡される型です。
ベンチマーク関数がリターンするか、またはFailNow、Fatal、Fatalf、SkipNow、Skip、Skipfのいずれかのメソッドを呼び出すことでベンチマークは終了します。これらのメソッドはベンチマーク関数を実行しているゴルーチンからのみ呼び出す必要があります。 ログやエラーのバリエーションといった他の報告用メソッドは、複数のゴルーチンから同時に呼び出すことができます。
テストと同様に、ベンチマークのログは実行中に蓄積され、終了時に標準出力に出力されます。ただし、ベンチマークのログは常に出力されるため、ベンチマーク結果に影響を与える可能性がある出力を隠すことはありません。.
BenchmarkResultはベンチマークの実行結果を含んでいます。.
Coverはテストカバレッジのチェックに関する情報を記録します。 注意: この構造体はテストインフラストラクチャに内部的に使用され、変更される可能性があります。 Go 1の互換性ガイドラインではまだ対象外です。.
CoverBlock は単一の基本ブロックのカバレッジデータを記録します。 フィールドは1からインデックス付けされています。エディタのように、 ファイルの開始行は1です。例えば、列はバイト単位で測定されます。 注: この struct はテストインフラストラクチャ内部で使用されるものであり、変更される可能性があります。 まだ Go 1 互換性ガイドラインにカバーされていません。.
Fはフラズテストに渡される型です。
フラズテストは生成された入力値を提供されたフラズターゲットに対して実行し、 テストされるコードに潜在的なバグを見つけて報告することができます。
ファズテストはデフォルトでシードコーパスを実行します。これには、(*F).Addによって提供されたエントリと testdata/fuzz/<FuzzTestName>ディレクトリ内のエントリが含まれます。必要なセットアップと(*F).Addへの呼び出しの後、 ファズテストはファズターゲットを提供するために(*F).Fuzzを呼び出さなければなりません。 例についてはテストパッケージのドキュメンテーションを参照し、詳細については [F.Fuzz] と [F.Add] メソッドのドキュメンテーションを参照してください。
*Fのメソッドは(*F).Fuzzの前にのみ呼び出すことができます。テストがフラズターゲットを実行している間は、(*T)のメソッドのみを使用することができます。 (*F).Fuzz関数内で許可されている*Fのメソッドは、(*F).Failedと(*F).Nameのみです。.
InternalBenchmarkは内部の型ですが、他のパッケージからも利用できるように公開されています。 これは"go test"コマンドの実装の一部です。.
No description provided by the author
InternalFuzzTargetは内部型ですが、異なるパッケージで使われるために公開されています。 これは"go test"コマンドの実装の一部です。.
InternalTestは内部の型ですが、異なるパッケージでも使用するためにエクスポートされています。 これは「go test」コマンドの実装の一部です。.
MはTestMain関数に渡される型で、実際のテストを実行するために使用されます。.
PBはRunParallelによって並列ベンチマークの実行に使用されます。.
Tはテスト状態を管理し、フォーマットされたテストログをサポートするためにTest関数に渡される型です。
テストは、そのTest関数が返却されるか、またはFailNow、Fatal、Fatalf、SkipNow、Skip、Skipfのいずれかのメソッドが呼び出された時に終了します。これらのメソッド、およびParallelメソッドは、テスト関数を実行しているゴルーチンからのみ呼び出す必要があります。
LogやErrorのバリエーションなど、他のレポートメソッドは、複数のゴルーチンから同時に呼び出すことができます。.
# Interfaces
TBはT、B、Fに共通するインターフェースです。.