Maison >développement back-end >Golang >Comment gérer les indicateurs de ligne de commande personnalisés dans les tests unitaires Go ?
Lorsque vous travaillez avec une application Go modularisée et des tests unitaires qui utilisent des modules d'application spécifiques, il peut être difficile de tester les commandes. fonctionnalité de ligne qui repose sur des indicateurs définis par l'utilisateur.
Considérez l'exemple suivant :
func init() { flag.StringVar(&this.customPath, "gamedir.custom", "", "Custom game resources directory") }
Lorsque vous essayez pour tester cette fonctionnalité avec la commande :
go test -test.v ./... -gamedir.custom=c:/resources
le runtime renvoie une erreur :
flag provided but not defined: -gamedir.custom
L'erreur survient car la commande go test s'exécute tests individuels simultanément. Lors de l'utilisation d'un indicateur -test.v, plusieurs exécutables de test sont créés, chacun avec ses propres indicateurs de ligne de commande. Si un test particulier ne gère pas explicitement l'indicateur -gamedir.custom, il échouera avec l'erreur susmentionnée.
Pour résoudre ce problème, définissez la commande -indicateurs de ligne dans chaque fichier de test. Cela garantit que chaque exécutable de test peut gérer les indicateurs nécessaires.
Par exemple :
func TestMyModule(t *testing.T) { flag.StringVar(&this.customPath, "gamedir.custom", "", "Custom game resources directory") // Test code here... }
En définissant les indicateurs dans chaque fonction de test, nous garantissons que tous les exécutables de test ont les indicateurs appropriés définis et peut fonctionner sans erreurs.
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!