Maison >développement back-end >Golang >Test unitaire en déplacement

Test unitaire en déplacement

王林
王林original
2024-07-30 16:56:50971parcourir

Unit Test At Go

Go fournit un package de tests contenant de nombreux outils à des fins de tests unitaires.

Préparation
Pratiquons-nous, préparez d'abord une structure Cube, la variable objet résultante de la structure sera ensuite utilisée comme matériel de test.

package main

import "math"

type Cube struct {
 Sisi float64
}
func (k Cube) Volume() float64 {
 return math.Pow(k.Sisi, 3)
}
func (k Cube) Area() float64 {
 return math.Pow(k.Sisi, 2) * 6
}
func (k Cube) circumference() float64 {
 return k.Sisi * 12
}

Enregistrez le code ci-dessus dans le fichier training1.go

package main
import "testing"
var (
cube Cube = Cube{4}
volume Should float64 = 64
area Should float64 = 96
circumference Should float64 = 48
)
func TestCalculateVolume(t *testing.T) {
t.Logf("Volume : %.2f", cube.Volume())
if cube.Volume() != volumeShould {
t.Errorf("WRONG! should be %.2f", volumeShould)
}
}
func TestCalculateSurface(t *testing.T) {
t.Logf("Area : %.2f", cube.Area())
if cube.Area() != areaShould {
t.Errorf("WRONG! should be %.2f", areaShould)
}
}
func TestCalculatePerimeter(t *testing.T) {
t.Logf("Perimeter : %.2f", cube.Perimeter())
if cube.Perimeter() != circumferenceShould {
t.Errorf("WRONG! should be %.2f", circumferenceShould)
}
}

La méthode t.Logf() est utilisée pour afficher un log. Cette méthode est équivalente à fmt.Printf() .
La méthode Errorf() est utilisée pour afficher un journal suivi d'une déclaration indiquant qu'un échec s'est produit pendant le test.
La façon d’exécuter les tests consiste à utiliser la commande go test. Étant donné que la structure testée se trouve dans le fichier bab55.go, lors de l'exécution du test à l'aide de go test, les noms de fichiers bab55_test.go et bab55.go doivent être écrits sous forme d'arguments. L'argument -v ou verbeux est utilisé pour afficher toutes les sorties du journal pendant les tests.
Exécutez l'application comme indiqué dans l'image ci-dessous, on peut voir qu'aucun test n'a échoué. OK, alors essayez de changer la formule de calcul de la méthode Keliling(). Le but de ce changement est de découvrir comment le marqueur d'échec apparaît lorsqu'un test échoue.

func (k Cube) Perimeter() float64 {
return k.Side * 15
}

Après cela, relancez le test.

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