オブジェクト指向の単体テストに Go 言語を使用する方法
単体テストはソフトウェア開発の非常に重要な部分であり、コードの品質と信頼性を保証できます。この記事では、テスト フレームワークの選択、テスト ケースの作成、実行など、オブジェクト指向の単体テストに Go 言語を使用する方法を紹介します。
Go 言語ではさまざまなテスト フレームワークが提供されており、一般的に使用されるものは testing
と goconvey
です。この記事では、testing
を例として説明します。
testing
フレームワークを使用する前に、まず、テスト対象のオブジェクトに対応する、_test.go
で終わるテスト ファイルを作成する必要があります。たとえば、calculator.go
という名前のソース ファイルがある場合、対応するテスト ファイルの名前は calculator_test.go
になります。
テスト ケースは、テスト対象のオブジェクトの動作を検証するコードの断片です。 Go 言語では、テスト ケースの関数名は Test
で始まる必要があり、形式は TestXxx(t *testing.T)
です。ここで、Xxx
は次のとおりです。何でも文字列にできます。 t
パラメータは、テスト実行時のステータスと出力を記録するために使用されます。
次は、testing
フレームワークを使用して作成されたテスト ケースの例です。
package main import ( "testing" ) func TestAdd(t *testing.T) { calculator := NewCalculator() result := calculator.Add(2, 3) if result != 5 { t.Errorf("Add(2, 3) = %d; want 5", result) } }
上の例では、TestAdd という名前のテスト ケースを作成しました。
テストケース関数。この関数は、Calculator
インスタンスを作成し、Add
メソッドを呼び出して計算を実行し、最後に if
ステートメントを使用して計算結果が期待どおりであるかどうかを確認します。
テスト ケースを作成した後、次のコマンドを使用してテストを実行できます:
go test
このコマンドを実行すると、Go 言語は##_test.go で終わるテスト ファイル内の # 個のテスト ケースを自動的に検索して実行します。
cover ツールを使用してテスト カバレッジを分析することもできます。以下に示すように、次のコマンドを
go test コマンドと組み合わせて使用します。
go test -cover
package main import ( "testing" ) func TestAdd(t *testing.T) { calculator := NewCalculator() result := calculator.Add(2, 3) if result != 5 { t.Errorf("Add(2, 3) = %d; want 5", result) } } type Calculator struct{} func NewCalculator() *Calculator { return &Calculator{} } func (c *Calculator) Add(a, b int) int { return a + b }
以上がオブジェクト指向の単体テストに Go 言語を使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。