Go 言語は、効率性、シンプルさ、強力な標準ライブラリで知られる優れたプログラミング言語です。 Go を使用してアプリケーションを開発する場合、テスト コードの作成と実行は不可欠な部分です。この記事では、コードが期待どおりに動作することを確認するためのテストに Go 言語を使用する方法について説明します。
Go 言語では、テスト コードは通常のコードと同等です。したがって、テスト コードを作成して実行し、アプリケーションが正しく実行されることを確認できます。通常、管理とメンテナンスを容易にするために、テスト コードは別のディレクトリに配置する必要があります。
以下は簡単な例です:
package main import "testing" func TestAdd(t *testing.T) { result := add(2, 3) expected := 5 if result != expected { t.Errorf("add(2, 3) = %d; expected %d", result, expected) } } func add(a, b int) int { return a + b }
上の例では、自分で作成した add() 関数をテストする「TestAdd」という名前のテスト関数を作成しました。テスト関数は通常「Test」で始まり、テスト結果を報告するために使用される「t」という名前の *testing.T パラメータが必要です。
テスト関数では、最初に add() 関数を呼び出し、その結果を result 変数に格納します。次に、期待される結果を期待される変数に保存し、if ステートメントを使用して結果を期待される結果と比較します。結果が期待どおりでない場合は、t.Errorf() 関数を使用してエラーを報告します。
テスト コードを作成したら、それを実行して、コードが正しく動作することを確認する必要があります。 Go 言語では、 go test コマンドを使用してテストコードを簡単に実行できます。
ターミナルでテスト コードが保存されているディレクトリに切り替え、次のコマンドを入力します。
go test
このコマンドは、ディレクトリ内のテスト コードを自動的に検出して実行します。すべてのテストに合格すると、次のメッセージが出力されます。
ok <package_name> 0.500s
それ以外の場合は、どのテストが失敗したかを出力し、適切なエラー メッセージを返します。
単体テストに加えて、さまざまな量の入力の下でコードがどのように動作するかを判断するためにベンチマークを実行する必要もあります。 Go 言語では、テスト パッケージの Benchmark 関数を使用してベンチマーク コードを作成できます。
以下は例です:
package main import "testing" func BenchmarkAdd(b *testing.B) { for i := 0; i < b.N; i++ { add(2, 3) } } func add(a, b int) int { return a + b }
上の例では、「BenchmarkAdd」という名前のベンチマーク関数を作成しました。これは、自分たちで作成した add() 関数のパフォーマンスをテストします。ベンチマーク関数は通常、「Benchmark」で始まり、「b」という名前の *testing.B パラメーターが必要です。
ベンチマーク関数では、for ループを使用して add() 関数を b.N 回実行します。ここで、b.N は関数を実行する回数を表す整数です。
単体テストの実行と同様に、go test コマンドを使用してベンチマークを簡単に実行できます。ターミナルで、ベンチマーク コードが保存されているディレクトリに切り替えて、次のコマンドを入力します。
go test -bench=.
このコマンドは、ディレクトリ内のベンチマーク コードを自動的に検出して実行します。すべてのテストに合格すると、次のメッセージが出力されます。
BenchmarkAdd-4 10000 174060 ns/op
ここで、「BenchmarkAdd-4」はベンチマーク関数の名前と GOMAXPROCS の数を指し、「10000」は実行数を指します。 add() 関数の実行回数「174060 ns/op」は、add() 関数が実行されるたびに消費される平均時間を指します。
結論
この記事では、Go言語を使ったテスト方法を紹介しました。まず、コードが正しく動作することを確認する単体テスト コードの作成方法を学びました。次に、さまざまな量の入力でコードがどのように動作するかを判断するためのベンチマーク コードを作成する方法を学びました。
一般に、テストは Go プログラミングに不可欠な部分です。適切なテストがあれば、より自信を持ってコードを改善および変更でき、その結果、より信頼性の高いアプリケーションが得られます。
以上がGo 言語を使用してテストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。