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 journal. 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, réexécutez le test.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3