Maison  >  Article  >  développement back-end  >  Comment tester les fonctions Golang à l'aide du framework de tests unitaires ?

Comment tester les fonctions Golang à l'aide du framework de tests unitaires ?

WBOY
WBOYoriginal
2024-04-16 11:00:01825parcourir

Utilisez le framework de tests unitaires pour les tests unitaires dans Go : importez le package de tests. Écrivez des fonctions de test unitaire préfixées par Test. Utilisez des fonctions d'assertion telles que assertEqual() pour vérifier les résultats des tests. Exécutez le test unitaire (go test) pour vérifier l'exactitude de la fonction.

如何使用单元测试框架对 Golang 函数进行测试?

Comment tester les fonctions Go à l'aide d'un cadre de tests unitaires

Les tests unitaires sont une pratique de développement logiciel cruciale qui vérifie l'exactitude d'une seule fonction ou méthode. Dans Go, les tests unitaires sont très simples à l'aide d'un framework de tests unitaires tel que le package testing. testing 包)进行单元测试非常简单。

安装单元测试框架

testing 包是 Go 标准库的一部分。要使用它,请在你的项目中导入 testing 包:

import "testing"

编写单元测试

每个单元测试都是一个以 Test 为前缀的函数。它接受一个指针 *testing.T 作为参数,该参数用于报告测试结果和记录失败信息。

基本的单元测试函数如下所示:

func TestAdd(t *testing.T) {
    result := Add(1, 2)
    if result != 3 {
        t.Errorf("Add(1, 2) = %d; want 3", result)
    }
}

断言

testing 包提供了一系列断言函数,用于验证测试结果。常用的断言包括:

  • assertEqual()
  • assertNotEqual()
  • assertNil()
  • assertError()

实战案例

考虑一个计算两个数字之和的 Add() 函数:

func Add(a, b int) int {
    return a + b
}

我们可以编写一个单元测试来验证此函数:

import "testing"

func TestAdd(t *testing.T) {
    tests := []struct {
        a, b, want int
    }{
        {1, 2, 3},
        {0, 0, 0},
        {-1, -1, -2},
    }

    for _, test := range tests {
        result := Add(test.a, test.b)
        if result != test.want {
            t.Errorf("Add(%d, %d) = %d; want %d", test.a, test.b, result, test.want)
        }
    }
}

运行测试

要运行单元测试,请使用 go test 命令。它将查找并运行项目中所有 Test*

Installer le framework de tests unitaires

Le package testing fait partie de la bibliothèque standard Go. Pour l'utiliser, importez le package testing dans votre projet : 🎜
go test
🎜🎜Ecriture de tests unitaires🎜🎜🎜Chaque test unitaire est un test unitaire préfixé par la fonction Test. Il accepte un pointeur *testing.T comme paramètre, qui est utilisé pour rapporter les résultats des tests et enregistrer les informations sur les échecs. 🎜🎜La fonction de test unitaire de base est la suivante : 🎜
PASS
ok  my_project/my_package  1.730s
🎜🎜Assertion🎜🎜🎜 Le package testing fournit une série de fonctions d'assertion pour vérifier les résultats des tests. Les assertions couramment utilisées incluent : 🎜
  • assertEqual()
  • assertNotEqual()
  • assertNil ()
  • assertError()
🎜🎜Cas pratique🎜🎜🎜Considérons un qui calcule la somme de deux nombres Fonction Add() : 🎜rrreee🎜Nous pouvons écrire un test unitaire pour vérifier cette fonction : 🎜rrreee🎜🎜Exécuter le test🎜🎜🎜Pour exécuter le test unitaire, utilisez le go test commande. Il trouvera et exécutera toutes les fonctions Test* du projet. 🎜rrreee🎜Si le test réussit, il affichera le résultat suivant : 🎜rrreee🎜 Sinon, il signalera l'échec du test, y compris un message d'erreur. 🎜

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn