Maison > Article > développement back-end > Comment implémenter le processus de développement piloté par les tests des fonctions Golang ?
Le processus TDD permet de garantir l'exactitude et la documentation comportementale des fonctions Go. Étapes : 1) Écrivez un test à l'aide de la commande go test, définissez les fonctions et les cas de test. 2) Écrivez un code de fonction qui satisfait au comportement du scénario de test. 3) Exécutez la commande go test pour vérifier si la fonction répond aux attentes. 4) Répétez les étapes 1 à 3 si nécessaire pour améliorer l'implémentation de la fonction et améliorer les cas de test jusqu'à ce que tous les tests réussissent.
Processus TDD (Test Driven Development) pour les fonctions Golang
Test Driven Development (TDD) est un processus de développement logiciel dans lequel les développeurs écrivent d'abord des tests, puis écrivent le code nécessaire pour satisfaire ces tests. Pour les fonctions du langage Go, le processus TDD peut aider à garantir l'exactitude de la fonction et à fournir une documentation sur son comportement.
Étapes
go test
pour créer un fichier de test et définir la fonction à tester et les cas de test correspondants. go test
命令创建一个测试文件,定义要测试的函数以及相应的测试用例。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
命令验证函数是否符合预期。$ go test ok test.go 0.000s
实战案例
假设你想要实现一个 Golang 函数 isPrime
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) } } }
Écrivez une fonction qui implémente le comportement spécifié dans le scénario de test.
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
pour vérifier que la fonction est comme prévu. $ go test
ok test.go 0.000s
Cas pratique
isPrime
pour déterminer si un nombre est premier. Le processus TDD peut se dérouler comme suit : 🎜🎜🎜🎜🎜 Écrire des tests : 🎜🎜rrreee🎜🎜🎜🎜 Écrire du code : 🎜🎜rrreee🎜🎜🎜🎜Exécuter des tests : 🎜🎜rrreee🎜🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!