ソフトウェア開発プロセスの継続的な発展に伴い、自動テストは徐々にソフトウェア テストの主要な形式の 1 つになってきました。ただし、テスト ツールの選択と、それらを学習して使用するプロセスは、多くの場合、混乱し、困難になる可能性があります。この記事では、高品質のテスト ケースを作成し、実際のアプリケーションでコードが完全に実行されることを確認するのに役立つ、シンプルかつ強力なテスト フレームワークである golang テスト ツールの使用法について説明します。
golang テストとは何ですか?
golang test は、Go プログラミング言語に付属する公式のテスト フレームワークです。go test コマンド ライン ツールを使用すると、開発者はテスト ケースを簡単に作成して実行できるほか、テスト カバレッジ レポートを生成できます。コードリポジトリ。そのシンプルさと柔軟性により、多くの Go 開発者にとってテスト フレームワークとして選ばれています。
golang テストの使用法
golang テストは、単体テスト、パフォーマンス テスト、サンプル テストの 3 つのテスト タイプをサポートしています。
単体テスト
Go で単体テストを記述するのは非常に簡単です。以下に示すように、_test
で終わる新しい Go ファイルを作成し、Test
で始まり *testing.T
パラメーターを受け入れる 1 つ以上の関数を作成します。 :
package mypackage_test import ( "testing" ) func TestAdd(t *testing.T) { if Add(1, 2) != 3 { t.Errorf("Expected 3 but got %d", Add(1, 2)) } }
この例では、渡された 2 つの数値の合計を返す Add という関数をテストします。テストを実行すると、アサーションが失敗したため、--- FAIL: TestAdd (0.00s)
のような出力が表示されます。テストが成功すると、PASS
が出力されます。
パフォーマンス テスト
Go では、パフォーマンス テストも同様に簡単です。次のように、Benchmark
という関数を使用してパフォーマンス テストを作成するだけです。この関数は、*testing.B
パラメータを受け取ります。
func BenchmarkAdd(b *testing.B) { for i := 0; i < b.N; i++ { Add(1, 2) } }
例 のパフォーマンスをテストしました。 2 つの数値を加算する Add 関数。テストでは、Add 関数 b.N
を回呼び出し、テストの合計時間を測定します。 Golang テストは、各テストの平均時間と各反復の合計時間を含む結果テーブルを出力します。
サンプル テスト
サンプル テストの作成は、Golang テストのもう 1 つのモードです。このモードでは、コードがどのように機能するかを示すために、いくつかの簡単な使用例を作成します。 Golang テストは、テスト実行時に実際のテスト コードを生成し、サンプルを実行します。サンプル テストは、サンプル関数を含む examples_test.go
というファイルを作成することで定義できます。
func ExampleAdd() { fmt.Println(Add(1, 2)) // Output: 3 }
この例では、Add 関数の例を作成し、それを呼び出し、出力が正しいかどうかをテストしました。 go test
を実行すると、サンプル テストの出力が表示されます。
テスト カバレッジ
golang テストでは、go test -cover
コマンドを使用したコード カバレッジに関する情報の生成もサポートされています。カバレッジ テストは、作成したテストがコード内のすべての状況をカバーしているかどうかを判断するのに役立ちます。通常、カバレッジ レポートは次のようになります。
PASS coverage: 80.8% of statements ok mypackage 0.062s
この例では、テスト カバレッジは 80.8% です。
結論
この記事では、Golang テストの使用法について説明しました。これは、コードが実際のアプリケーションで完璧に実行されることを保証する高品質のテスト ケースを作成するのに役立つ、シンプルかつ強力なテスト フレームワークです。単体テスト、パフォーマンス テスト、サンプル テストの使用法と、テスト カバレッジに関するレポートの生成方法について説明しました。これで、golang テストを使用して強力なテスト スイートを構築し、さまざまな状況下でコードが正しく動作することを確認できるようになりました。
以上がgolangテストツールの使い方を詳しく解説した記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。