TDD プロセスは、Go 関数の正確性と動作の文書化を保証するのに役立ちます。手順: 1) go test コマンドを使用してテストを作成し、関数とテスト ケースを定義します。 2) テストケースの動作を満たす関数コードを記述します。 3) go test コマンドを実行して、関数が期待どおりかどうかを確認します。 4) 必要に応じてステップ 1 ~ 3 を繰り返し、すべてのテストが合格するまで関数の実装を改善し、テスト ケースを改善します。
Golang 関数 TDD (テスト駆動開発) プロセス
テスト駆動開発 (TDD) は、ソフトウェア開発プロセスです。開発者はまずテストを作成し、次にそれらのテストを満たすために必要なコードを作成します。 Go 言語関数の場合、TDD プロセスは関数の正確性を保証し、その動作に関するドキュメントを提供するのに役立ちます。
#手順
package main import ( "testing" ) func TestAdd(t *testing.T) { tests := []struct { a, b int want int }{ {1, 2, 3}, {3, 4, 7}, } for _, tc := range tests { got := Add(tc.a, tc.b) if got != tc.want { t.Errorf("Add(%d, %d) = %d, want %d", tc.a, tc.b, got, tc.want) } } }
package main import "fmt" func Add(a, b int) int { return a + b } func main() { fmt.Println(Add(1, 2)) // 输出:3 }
$ go test ok test.go 0.000s
Golang 関数
isPrime を実装して、数値が素数かどうかを判断するとします。 TDD プロセスは次のように実行できます。
package main
import (
"testing"
)
func TestIsPrime(t *testing.T) {
tests := []struct {
n int
prime bool
}{
{1, false},
{2, true},
{3, true},
{4, false},
{19, true},
{100, false},
}
for _, tc := range tests {
got := IsPrime(tc.n)
if got != tc.prime {
t.Errorf("IsPrime(%d) = %t, want %t", tc.n, got, tc.prime)
}
}
}
package main
import "math"
func IsPrime(n int) bool {
if n <= 1 {
return false
}
for i := 2; i <= int(math.Sqrt(float64(n))); i++ {
if n%i == 0 {
return false
}
}
return true
}
func main() {
fmt.Println(IsPrime(19)) // 输出:true
}
$ go test
ok test.go 0.000s
以上がgolang 関数のテスト駆動開発プロセスを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。