Tests unitaires des indicateurs de ligne de commande dans Go
Il est crucial de s'assurer que les indicateurs de ligne de commande adhèrent aux paramètres spécifiés pour maintenir l'intégrité de l'application. Dans Go, le package flag offre des fonctionnalités robustes pour définir et analyser les indicateurs, y compris la possibilité de tester unitairement leur validité.
Test de drapeaux personnalisés avec flag.Var
Création les types d'indicateurs personnalisés permettent des critères de validation spécifiques. La fonction flag.Var facilite cela en acceptant un type d'interface Value qui définit la manière dont les données du drapeau sont représentées et validées. Cette interface impose les méthodes String() et Set().
Application des valeurs Enum
Dans l'exemple fourni, le test souhaité garantit que l'indicateur -format n'accepte que les valeurs prédéfinies. valeurs d'énumération. Pour y parvenir, un type formatType peut être défini et implémenté via l'interface Value.
Implémentation de la valeur
La méthode String() convertit la valeur du drapeau en chaîne, tandis que la méthode Set() valide et attribue la valeur d'entrée au drapeau.
Utilisation dans l'exemple
Dans le code fourni, le type formatType est initialisé avec une valeur par défaut valeur du « texte ». La fonction flag.Var est ensuite utilisée pour enregistrer ce type personnalisé auprès du package flag, qui gère l'analyse et la validation.
Drapeaux personnalisés de test unitaire
Le package flag fournit un exemple complet de la façon de tester unitairement les variables d'indicateur personnalisées dans son fichier flag_test.go. Cette section montre comment se moquer de la méthode Set et affirmer l'exactitude de l'indicateur.
Conclusion
En tirant parti de la fonction flag.Var et en implémentant l'interface Value, il est possible pour définir des types d'indicateurs personnalisés qui appliquent des critères de validation spécifiques, garantissant ainsi l'intégrité des entrées de ligne de commande. Les tests unitaires peuvent vérifier efficacement ces comportements, maintenant ainsi la fiabilité des applications Go.
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!