Maison > Article > développement back-end > Combinaison de gestion des erreurs et de tests unitaires des fonctions Golang
La gestion des erreurs dans GoLang utilise le type d'erreur pour représenter les erreurs, qui peuvent être créées via fmt.Errorf(). Les tests unitaires utilisent la bibliothèque de tests pour vérifier l'exactitude de la fonction en écrivant des cas de test et affirmer si les résultats renvoyés sont conformes aux attentes.
Correspondance de la gestion des erreurs de la fonction GoLang et des tests unitaires
Gestion des erreurs
Le mécanisme de gestion des erreurs dans GoLang est très simple et efficace. En utilisant le type error
, nous pouvons représenter les erreurs dans l'exécution de la fonction. Des messages d'erreur peuvent être créés via la fonction fmt.Errorf()
. error
类型,我们可以表示函数执行中的错误。可以通过 fmt.Errorf()
函数创建错误信息。
package main import ( "fmt" ) func divide(a, b int) (int, error) { if b == 0 { return 0, fmt.Errorf("cannot divide by zero") } return a / b, nil } func main() { result, err := divide(10, 2) if err != nil { fmt.Println(err) } else { fmt.Println(result) } }
单元测试
单元测试对于验证函数的正确性至关重要。GoLang 提供了 testing
库,可以轻松编写和运行单元测试。
package main import ( "fmt" "testing" ) func TestDivide(t *testing.T) { type testCases struct { a int b int expected int expectedError error } cases := []testCases{ {10, 2, 5, nil}, {10, 0, 0, fmt.Errorf("cannot divide by zero")}, } for _, c := range cases { result, err := divide(c.a, c.b) if result != c.expected || err != c.expectedError { t.Errorf("Test failed for input (%d, %d) expected (%d, %s) but got (%d, %s)", c.a, c.b, c.expected, c.expectedError, result, err) } } }
在此示例中,我们创建了一个测试表,其中包含不同的测试用例。然后,我们对每个测试用例运行 divide
rrreee
Tests unitaires
🎜🎜Les tests unitaires sont cruciaux pour vérifier l'exactitude d'une fonction. GoLang fournit la bibliothèquetesting
pour écrire et exécuter facilement des tests unitaires. 🎜rrreee🎜Dans cet exemple, nous avons créé une table de test contenant différents cas de test. Nous exécutons ensuite la fonction divide
sur chaque scénario de test et affirmons que les valeurs et erreurs renvoyées correspondent aux résultats attendus. 🎜🎜En combinant la gestion des erreurs avec les tests unitaires, nous pouvons garantir que les fonctions fonctionnent comme prévu dans diverses situations d'entrée. 🎜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!