Maison >développement back-end >Golang >Test et débogage des fonctions Golang
Fonctions de test dans Golang : créez un fichier de test se terminant par _test.go. Déclarez une fonction de test nommée TestXXX, où XXX est le nom de la fonction testée. Utilisez des assertions pour vérifier que les résultats attendus correspondent aux résultats réels. Définissez des points d'arrêt et utilisez le débogueur pour déboguer les échecs des tests. Utilisez des outils de test et de couverture basés sur des tableaux pour améliorer l’efficacité des tests.
Test et débogage des fonctions Golang
Dans Golang, les tests sont une pratique importante pour garantir la fiabilité et l'exactitude du code. Ce didacticiel vous expliquera comment utiliser le cadre de test intégré de Golang pour tester et déboguer les fonctions.
Test des fonctions
Afin de tester une fonction, vous devez créer un nouveau fichier se terminant par _test.go
. Ce fichier se trouve dans le même package que la fonction testée. Dans le fichier de test, déclarez une fonction de test à l'aide de la fonction TestXXX
du package testing
, où XXX
est le nom de la fonction testée. Par exemple : _test.go
结尾的新文件。该文件位于与被测函数相同的包中。在测试文件中,使用 testing
包的 TestXXX
函数声明一个测试函数,其中 XXX
是被测函数的名称。例如:
// my_function_test.go package mypackage import ( "testing" ) func TestAdd(t *testing.T) { // ... }
断言
在测试函数中,使用断言来验证预期结果与实际结果是否一致。testing
包提供了多种断言函数,例如:
t.Equal(a, b)
:验证 a
和 b
是否相等t.ErrorIs(err, expectedError)
:验证 err
和 expectedError
是否是相同的错误t.True(cond)
:验证 cond
为 true
实战案例
假设你有一个名为 add
的函数,该函数接受两个数字参数并返回它们的和。你可以编写以下测试函数来测试 add
// my_function_test.go import ( "testing" ) func TestAdd(t *testing.T) { tests := []struct { a, b int want int }{ {1, 2, 3}, {3, 4, 7}, {-1, -2, -3}, } for _, tt := range tests { got := add(tt.a, tt.b) if got != tt.want { t.Errorf("add(%d, %d) = %d, want %d", tt.a, tt.b, got, tt.want) } } }
Assertion
Dans la fonction test, utilisez des assertions pour vérifier si les résultats attendus sont cohérents avec les résultats réels. Le packagetesting
fournit une variété de fonctions d'assertion, telles que :
t.Equal(a, b)
: Vérifiez a
et Si b est égalt.ErrorIs(err, ExpectedError)
: Vérifiez si err
et expectedError
sont identiques error
t.True(cond)
: Vérifiez que cond
est true
add
qui accepte deux arguments numériques et renvoie leur somme. Vous pouvez écrire la fonction de test suivante pour tester la fonction add
: 🎜rrreee🎜🎜Debugging🎜🎜🎜Dans les cas où les tests de débogage échouent, vous pouvez utiliser le débogueur en définissant des points d'arrêt dans le code source. Dans les IDE comme VSCode, vous pouvez définir un point d'arrêt en cliquant avec le bouton droit sur une ligne du code et en sélectionnant « Définir/Supprimer le point d'arrêt ». Lorsque le code est exécuté dans le débogueur, il s'arrête aux points d'arrêt, vous permettant d'inspecter les variables et de piler les traces. 🎜🎜🎜Astuce🎜🎜🎜🎜Utilisez les tests basés sur des tableaux pour simplifier les tests de plusieurs ensembles d'entrées. 🎜🎜Utilisez des outils de couverture pour vous assurer que le code de test couvre suffisamment de logique de fonction. 🎜🎜Intégrez le code de test avec des systèmes d'intégration continue pour exécuter automatiquement des tests lorsque le code change. 🎜🎜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!