Maison  >  Article  >  développement back-end  >  Pouvez-vous exécuter des tests dans des sous-répertoires dans Go ?

Pouvez-vous exécuter des tests dans des sous-répertoires dans Go ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-26 11:25:10525parcourir

Can You Run Tests in Subdirectories in Go?

Exécuter des tests dans des sous-répertoires dans Go

Garder votre espace de travail organisé en plaçant des tests et des exemples dans des sous-répertoires est une approche efficace. Cet article explore la faisabilité et les étapes nécessaires pour y parvenir dans Go.

Tests dans les sous-répertoires

Go vous permet d'exécuter des tests à partir de sous-répertoires en spécifiant le chemin complet à l'aide de " ./..." :

go test ./...

Cette commande analysera tous les sous-répertoires à la recherche de packages et exécutera les tests qu'ils contiennent. Cependant, il y a certaines implications à prendre en compte.

Accès et visibilité des packages

Lorsque vous placez des fichiers de test dans des sous-répertoires, il est important de préfixer les variables et fonctions exportées avec le nom du package. pour que le fichier de test accède au contenu exporté. Les membres non exportés ne seront pas accessibles.

go test vs. go test -cover

Lors de l'utilisation de go test -cover pour la couverture du code, il est crucial d'utiliser -coverpkg=./... pour collecter les données de couverture de tous packages :

go test -coverpkg=./... ./...

Tests d'intégration

Depuis Go 1.20, les tests d'intégration sont désormais pris en charge pour le profilage de couverture. Utilisez -cover lors de la création de l'exécutable et GOCOVERDIR pour spécifier l'emplacement des données de couverture :

go build -cover -o myprogram.exe myprogram.go
mkdir somedata
GOCOVERDIR=somedata ./myprogram.exe

Approche alternative

Vous pouvez également séparer les tests dans un package différent sans les placer dans un sous-répertoire. Par exemple, les tests du package "foo" peuvent résider dans le package "foo_test" dans le même répertoire, garantissant l'accès uniquement aux membres exportés de "foo".

Conclusion

Bien qu'exécuter des tests à partir de sous-répertoires soit techniquement possible, ce n'est peut-être pas la meilleure pratique en termes d'organisation et d'accessibilité. L'approche alternative consistant à créer un package de test distinct dans le même répertoire est une option viable pour gérer les tests plus efficacement.

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