Maison >développement back-end >Golang >Tutoriel pratique sur les tests unitaires des fonctions Golang
Méthode de test unitaire de langue Go : importez le package de test et le package sous test. Définissez les fonctions de test commençant par "Test". Définir les cas de test, y compris les paramètres et les résultats attendus. Parcourez les cas de test, appelez des fonctions et comparez les résultats réels avec les résultats attendus. S'il y a une différence, le test de déclenchement échoue.
Tutoriel pratique sur les tests unitaires des fonctions Go
Les tests unitaires sont une partie indispensable du développement logiciel, ils peuvent nous aider à garantir l'exactitude du code et à réduire les défauts. Dans Go, vous pouvez écrire des tests unitaires à l'aide du package testing
intégré. testing
包编写单元测试。
代码示例
假设我们有一个 greetPackage
包,其中包含一个名为 Greet
的函数,该函数接受一个名字参数并返回一条问候语。
package greetPackage import "fmt" func Greet(name string) string { return fmt.Sprintf("Hello, %s!", name) }
我们可以使用 testing
包编写一个单元测试来测试 Greet
函数的功能。
package greetPackage_test import ( "testing" "github.com/example/myproject/greetPackage" ) func TestGreet(t *testing.T) { tests := []struct { name string expected string }{ {"Alice", "Hello, Alice!"}, {"Bob", "Hello, Bob!"}, } for _, test := range tests { actual := greetPackage.Greet(test.name) if actual != test.expected { t.Errorf("Greet(%s) = %s; expected %s", test.name, actual, test.expected) } } }
运作原理
testing
包和正在测试的包 (greetPackage
)。*testing.T
参数。tests
变量定义一个测试用例切片,其中每个用例包含要测试的参数 (name
) 和预期的结果 (expected
)。for
循环依次遍历测试用例,并调用 greetPackage.Greet
函数。greetPackage.Greet
函数的实际结果 (actual
) 与预期结果 (expected
) 进行比较,如果不同,则引发一个 t.Error
Supposons que nous ayons un package greetPackage
qui contient une fonction appelée Greet
qui accepte un paramètre nommé et renvoie un message d'accueil.
go test -v github.com/example/myproject/greetPackage
Nous pouvons utiliser le package testing
pour écrire un test unitaire afin de tester la fonctionnalité de la fonction Greet
.
PASS ok github.com/example/myproject/greetPackage 0.004sComment ça marche🎜🎜
testing
et le package en cours de test (greetPackage
). 🎜*testing.T
. 🎜tests
pour définir une tranche de cas de test, où chaque cas contient les paramètres à tester (nom
) et les résultats attendus (attendu code> ). 🎜<li>🎜Étape 4 : Parcourez les cas de test et exécutez les tests. 🎜Nous utilisons la boucle <code>for
pour parcourir les cas de test dans l'ordre et appeler la fonction greetPackage.Greet
. 🎜actual
) de la fonction greetPackage.Greet
avec le résultat attendu (expected
), et s'ils sont différents, déclenche une t.Error
. 🎜🎜🎜🎜Exécutez le test🎜🎜🎜Exécutez le test en exécutant la commande suivante dans le terminal : 🎜rrreee🎜Si le test réussit, il affichera le message suivant : 🎜rrreeeCe 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!