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

Comment puis-je accéder aux arguments de ligne de commande dans les tests Go ?

DDD
DDDoriginal
2024-12-06 22:24:13173parcourir

How Can I Access Command Line Arguments in Go Tests?

Obtention d'arguments de ligne de commande dans les tests Go

Lors de l'exécution de tests avec go test, la fonction principale n'est pas exécutée. Cela soulève la question de savoir comment accéder aux arguments de ligne de commande dans les cas de test.

Une approche courante consiste à utiliser le package flags et à vérifier manuellement les arguments dans chaque test ou fonction. Cependant, cette méthode peut devenir fastidieuse et sujette aux erreurs à mesure que le nombre de tests augmente.

Au lieu de cela, il est possible d'utiliser des variables d'environnement ou des fonctions d'initialisation pour accéder aux arguments de ligne de commande dans les tests.

Variables environnementales

Les variables environnementales constituent un moyen pratique de transmettre des données de configuration aux environnements de test. Pour accéder à une variable d'environnement dans un test, utilisez simplement la fonction os.Getenv :

envSetting := os.Getenv("TEST_ENV")

Fonctions d'initialisation

Alternativement, vous pouvez définir une fonction d'initialisation à définir variables globales basées sur des arguments de ligne de commande. La fonction init() est exécutée avant tout cas de test, ce qui la rend idéale à des fins d'initialisation :

func init() {
    flags.Parse()
    myEnv = *envFlag
}

En utilisant ces techniques, vous pouvez accéder efficacement aux arguments de ligne de commande dans les tests Go et maintenir la séparation entre le test et le principal. fonctionnalité.

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