Maison >développement back-end >Golang >Comment puis-je analyser les arguments de ligne de commande dans les tests Go ?

Comment puis-je analyser les arguments de ligne de commande dans les tests Go ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-04 18:13:11541parcourir

How Can I Parse Command Line Arguments in Go Tests?

Analyse des arguments de ligne de commande dans les "tests" Go

Lors de l'utilisation de la commande "go test", la fonction principale de votre application n'est pas invoqué, laissant les développeurs se demander comment gérer les arguments de ligne de commande dans les tests.

Bien qu'il soit possible d'utiliser le package flags et de vérifier les arguments dans chaque test ou fonction, cette approche est lourde et nécessite de nombreuses répétitions.

Pour certains scénarios, contourner la pureté des tests unitaires et transmettre des arguments via la ligne de commande peut être une solution acceptable, car elle offre des avantages tels que le fait d'éviter de dépendre de l'environnement. variables et offrant une flexibilité fonctionnelle.

Une méthode consiste à définir une fonction init() dans un fichier _test. Lorsque la suite de tests est exécutée, cette fonction sera invoquée et initialisera les variables en fonction des arguments de ligne de commande, simulant le comportement de la fonction principale lorsque l'application est exécutée directement.

Alternativement, si le package flags est nécessaire exigence, le code d'initialisation peut être placé dans une fonction init() à l'intérieur de la structure testing.t. Cela permet à l'analyse des indicateurs de se produire avant l'exécution des cas de test.

Par exemple :

func init() {
    flag.Parse()
    envSetting = flag.String("env", "", "Environment setting")
}

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