Maison >développement back-end >Golang >Comment tester les fonctions Golang ?
Go Function Testing Guide : les tests unitaires sont utilisés pour tester le comportement des fonctions de manière isolée. testify/assert fournit des outils d'assertion utiles et doit être importé sur github.com/stretchr/testify/assert. Utilisez assert.Equal(t, valeur attendue, appel de fonction) pour affirmer. Exécutez le test à l'aide de la commande go test.
Les tests unitaires sont cruciaux lors de l'écriture de programmes Go, nous permettant de vérifier que les fonctions s'exécutent comme prévu. Cet article fournit un guide étape par étape sur la façon de tester les fonctions Go, accompagné d'exemples pratiques.
Les tests unitaires testent le comportement d'une fonction dans un environnement isolé, sans égard aux autres codes.
testify/assert est un package de test Go populaire avec un ensemble d'outils d'assertion utiles. Pour l'installer, exécutez :
go get github.com/stretchr/testify/assert
Pour utiliser assert, vous devez d'abord l'importer dans votre fichier de test unitaire :
import "github.com/stretchr/testify/assert"
Vous pouvez maintenant écrire vos cas de test comme suit :
func TestAdd(t *testing.T) { // 断言 a+b 等于 c assert.Equal(t, 3, Add(1, 2)) }
Pour exécuter l'unité Pour tester, utilisez la commande go test
sur la ligne de commande : go test
命令:
go test
考虑以下用于计算两个数字之和的简单函数:
func Add(a, b int) int { return a + b }
为了测试此函数,我们可以使用以下测试用例:
func TestAdd(t *testing.T) { testCases := []struct { a, b, expected int }{ {1, 2, 3}, {5, 10, 15}, {-1, -2, -3}, } for _, tc := range testCases { actual := Add(tc.a, tc.b) assert.Equal(t, tc.expected, actual) } }
在测试用例中,我们将多个测试集合到 testCases
片段中。每个测试用例指定了输入值 a
和 b
,以及预期的结果 expected
。
循环遍历每个测试用例,调用 Add
rrreee
testCases
. Chaque scénario de test spécifie les valeurs d'entrée a
et b
, ainsi que le résultat attendu attendu
. 🎜🎜 Parcourez chaque cas de test, en appelant la fonction Add
et en utilisant assert pour affirmer que le résultat correspond à la valeur attendue. Si une assertion échoue, le test échouera. 🎜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!