Maison  >  Article  >  développement back-end  >  Comment partager les méthodes de configuration et de démontage entre les packages lors du test de Go ?

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

王林
王林avant
2024-02-15 09:50:071005parcourir

在测试 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

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer