Maison >développement back-end >Golang >Comment tester les fonctions du package principal dans Go ?
Test des fonctions du package principal
Dans le domaine des tests Go, on peut rencontrer des difficultés en tentant d'accéder aux fonctions définies dans le package principal à partir de fichiers de tests. Cela est dû à l'isolement inhérent des packages dans Go.
Considérez le problème courant suivant :
// main.go package main func foo() string { return "Foo" }
// main_test.go package main import "testing" func TestFoo(t *testing.T) { t.Error(foo()) // Undefined: foo }
Tentative de test foo() à partir du package principal dans main_test.go entraînera une erreur, car la fonction foo() n'est pas accessible dans le package enfant.
Pour résoudre ce problème, une approche consiste à créer un package séparé pour les fonctions vous souhaitez tester. Par exemple :
// util.go package util func Foo() string { return "Foo" }
// main.go package main import ( "fmt" "log" "util" ) func main() { fmt.Println(util.Foo()) }
// util_test.go package util_test import ( "testing" "util" ) func TestFoo(t *testing.T) { t.Error(util.Foo()) // Now accessible }
En structurant votre code de cette manière, vous pouvez isoler la fonctionnalité de test de votre package principal.
Cependant, si vous avez spécifiquement besoin de fonctions de test définies directement dans le package principal, vous devez penser à exécuter des tests pour tous les fichiers simultanément. La commande go test vous permet de spécifier plusieurs fichiers :
go test *.go
De plus, assurez-vous que vos fonctions de test sont nommées correctement dans le fichier _test.go, en respectant la convention de dénomination TestXXX et en passant un pointeur vers testing. T comme argument.
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!