Maison > développement back-end > Golang > le corps du texte

Comment partager les méthodes de configuration et de démontage entre les packages lors du test de Go ?

王林
Libérer: 2024-02-15 09:50:07
avant
1038 Les gens l'ont consulté

在测试 Go 时如何跨包共享设置和拆卸方法?

Le partage des méthodes de configuration et de démontage entre les packages est un problème courant lors des tests de Go. L'éditeur PHP Yuzai répondra à cette question pour vous. En langage Go, vous pouvez utiliser le package `flag` pour définir et obtenir les paramètres de ligne de commande. En utilisant la fonction `flag.Parse()` dans le fichier de test, les paramètres de ligne de commande peuvent être analysés et définis dans les variables correspondantes. Pour les scénarios de test nécessitant des paramètres partagés, des variables globales peuvent être définies dans le fichier de test et utilisées dans chaque fonction de test. Une fois le test terminé, vous pouvez le démonter dans la fonction « TestMain » et restaurer l'état des paramètres d'origine. Cela permet de partager des méthodes de configuration et de démontage entre les packages.

Contenu de la question

Supposons que j'ai deux colis foobar. Chaque package possède un fichier et un fichier de test :

foo
---widget.go
---widget_test.go
bar
---wingding.go
---wingding_test.go
Copier après la connexion

Maintenant, pour ces deux tests (widget_test.go et wingding_test.go), je souhaite partager du code de configuration. Je sais que je peux mettre ce code dans chaque package de main_test.go. Mais je ne veux évidemment pas copier/coller le code à deux endroits. Alors, où puis-je mettre ce code pour qu'il puisse être partagé entre les packages ?

Solution de contournement

Mettez-le dans foobar 在测试中导入的另一个包 baz un autre package baz importé dans le test. Nous l'utilisons pour la configuration de la base de données et le code de démontage dans nos tests.

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!

Étiquettes associées:
source:stackoverflow.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal