L'écriture de tests unitaires dans Go permet de garantir la qualité et la fiabilité du code. Les tests unitaires comprennent des étapes telles que l'importation de dépendances, la configuration d'objets, la définition d'entrées et de sorties, l'appel de fonctions et l'affirmation de sorties. En utilisant la fonction assert dans le package de tests, vous pouvez comparer le résultat réel avec le résultat attendu. Utilisez la commande go test pour exécuter des tests et assurez-vous que tous les tests réussissent afin de garantir l'exactitude de votre code Go.
L'écriture de tests unitaires dans Go est essentielle pour garantir la qualité et la fiabilité du code. Les tests unitaires vous permettent d'isoler et de tester le comportement d'une seule fonction ou méthode pour vous assurer qu'elle se comporte comme prévu.
Un test unitaire typique contient les parties suivantes :
Créons une simple fonction Somme
et écrivons un test unitaire pour celle-ci : Sum
函数并为其编写一个单元测试:
package main import ( "testing" ) // Sum 返回两个数字之和 func Sum(a, b int) int { return a + b } func TestSum(t *testing.T) { // 设置测试表 tests := []struct { a, b int want int }{ {1, 2, 3}, {-1, 5, 4}, {0, -5, -5}, } // 遍历测试表,对每个测试用例运行测试 for _, tt := range tests { got := Sum(tt.a, tt.b) if got != tt.want { t.Errorf("Sum(%d, %d) = %d, want %d", tt.a, tt.b, got, tt.want) } } }
Go 提供了[testing
](https://golang.org/pkg/testing/) 包,其中包含各种断言函数,可用于比较实际输出和预期输出。一些常用的断言函数包括:
t.Fatal()
: 如果断言失败,则终止测试。t.Error()
: 报告一个失败,允许测试继续。t.Errorf()
: 报告一个带有格式化错误消息的失败。t.Equal()
: 比较两个值是否相等。t.NotEqual()
: 比较两个值是否不相等。使用 go test
go test
tests
] (https : //golang.org/pkg/testing/), qui contient diverses fonctions d'assertion qui peuvent être utilisées pour comparer la sortie réelle avec la sortie attendue. Certaines fonctions d'assertion couramment utilisées incluent : 🎜t.Fatal()
: termine le test si l'assertion échoue. 🎜🎜t.Error()
: signale un échec, permettant au test de continuer. 🎜🎜t.Errorf()
: Signaler un échec avec un message d'erreur formaté. 🎜🎜t.Equal()
: Compare si deux valeurs sont égales. 🎜🎜t.NotEqual()
: Compare si deux valeurs ne sont pas égales. 🎜🎜🎜Exécutez les tests🎜🎜Exécutez les tests unitaires à l'aide de la commande go test
: 🎜PASS ok main [no tests found]
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!