Maison > développement back-end > Golang > Quelle est la meilleure stratégie de dénomination de package Go pour les tests unitaires ?

Quelle est la meilleure stratégie de dénomination de package Go pour les tests unitaires ?

Susan Sarandon
Libérer: 2024-12-19 02:53:08
original
635 Les gens l'ont consulté

What's the Best Go Package Naming Strategy for Unit Testing?

Stratégies de dénomination des packages pour les tests unitaires Go

Dans Go, il existe plusieurs stratégies pour nommer les packages de tests. Comprendre leurs avantages et leurs inconvénients aide à sélectionner la stratégie la plus appropriée pour votre projet.

Analyse de la stratégie

Stratégie 1 :

  • Fichier : github.com/user/myfunc.go (paquet myfunc)
  • Fichier de test : github.com/user/myfunc_test.go (package myfunc)

Cette stratégie localise le code de test dans le même package que le code testé. Il permet d'accéder aux identifiants non exportés, permettant aux tests unitaires d'examiner les variables, fonctions et méthodes internes. Cependant, ajouter *_test aux packages de test peut créer des incohérences de nom.

Stratégie 2 :

  • Fichier : github.com/user/myfunc.go (package myfunc)
  • Fichier de test : github.com/user/myfunc_test.go (package myfunc_test)

Cette stratégie place le code de test dans un package séparé. Il garantit que le code de test accède uniquement aux identifiants exportés, permettant ainsi les tests en boîte noire. Cependant, cela limite l'accès aux identifiants non exportés, ce qui peut être un inconvénient pour les tests unitaires nécessitant un tel accès.

Stratégie 3 :

  • Fichier : github .com/user/myfunc.go (package myfunc)
  • Fichier de test : github.com/user/myfunc_test.go (package myfunc_test, important myfunc en utilisant la notation '.')

Cette stratégie est une variante de la stratégie 2, permettant au code de test d'accéder aux identifiants non exportés en importer myfunc en utilisant le '.' notation. Il combine les avantages des deux stratégies, mais peut introduire des collisions d'espace de noms si plusieurs packages utilisent le '.' notation.

Quelle stratégie choisir ?

Le choix dépend de l'approche de test :

  • Tests en boîte blanche : Utilisez la stratégie 1 (package myfunc) pour accéder aux identifiants non exportés de l'unité tests.
  • Tests en boîte noire : Utilisez la stratégie 2 (package myfunc_test) pour garantir que les tests reposent uniquement sur des identifiants exportés.
  • Approche mixte : Combinez les stratégies 1 et 2 pour créer différents packages de tests à des fins de test spécifiques (par exemple, myfunc_whitebox_test.go, myfunc_blackbox_test.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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal