Les méthodes courantes pour tester la gestion des erreurs dans Go incluent : l'utilisation de error.Error() pour vérifier si le message d'erreur est une chaîne vide ; l'utilisation de testing.T.FatalError() et testing.T.Errorf() pour afficher le message d'erreur et marquer le test comme ayant échoué Ou continuer l'exécution ; utiliser les fonctions d'assertion require, telles que require.NoError et require.EqualError, pour arrêter le test en cas d'échec.
Un aspect important de l'écriture de code robuste dans Golang est la gestion correcte des erreurs. Tester les processus de gestion des erreurs est essentiel pour garantir que votre code répond correctement lorsque des circonstances imprévues surviennent.
error.Error()
error.Error()
最简单的方法是检查 error
类型变量的值是否为空字符串。这适用于不需要检查具体错误信息的情况。
func TestError(t *testing.T) { err := errors.New("Error occurred") if err != nil { t.Error(err) } }
testing.T.FatalError()
和 testing.T.Errorf()
FatalError
和 Errorf
函数可以输出错误消息,并将测试标记为失败。FatalError
会立即停止测试,而 Errorf
会继续执行测试,但会打印错误消息。
func TestError(t *testing.T) { err := errors.New("Error occurred") t.Fatalf("Error occurred: %v\n", err) // t.Errorf("Error occurred: %v\n", err) }
require
断言require
是 Go 中的内置断言函数,在失败时会停止测试。它提供了多种方法来检查错误,包括 require.NoError
和 require.EqualError
。
func TestError(t *testing.T) { err := errors.New("Error occurred") require.NoError(t, err) // require.EqualError(t, err, "Error occurred") }
以下是一个测试 .Send()
error
est une chaîne vide. Ceci est utile lorsqu'il n'est pas nécessaire de rechercher des messages d'erreur spécifiques. func TestClient_Send(t *testing.T) { client := &Client{ conn: mockConn{}, } msg := &Message{ Data: []byte("Hello"), } err := client.Send(msg) require.EqualError(t, err, "Error sending message: mock connection error") }
testing.T.FatalError()
et testing.T.Errorf()
FatalError
et Errorf La fonction code> code> peut générer un message d'erreur et marquer le test comme échoué. <code>FatalError
arrête le test immédiatement, tandis que Errorf
continue le test mais imprime un message d'erreur. 🎜rrreee🎜Utilisez require
pour affirmer 🎜🎜require
est une fonction d'assertion intégrée dans Go qui arrête le test en cas d'échec. Il fournit plusieurs méthodes pour vérifier les erreurs, notamment require.NoError
et require.EqualError
. 🎜rrreee🎜Cas pratique🎜🎜Ce qui suit est un exemple pratique de test de gestion des erreurs dans la méthode .Send()
: 🎜rrreee🎜Conclusion🎜🎜La méthode ci-dessus fournit un moyen efficace de tester la gestion des erreurs dans Golang. Le choix de la stratégie appropriée dépend de la situation spécifique et de la stratégie de test du projet. 🎜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!