Maison >développement back-end >Golang >Comment puis-je exécuter des tests Go de manière sélective et exclure des packages ou des répertoires spécifiques ?

Comment puis-je exécuter des tests Go de manière sélective et exclure des packages ou des répertoires spécifiques ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-15 21:17:14311parcourir

How Can I Selectively Run Go Tests and Exclude Specific Packages or Directories?

Tests sélectifs : ignorer des packages dans Go

Lors de l'exécution de suites de tests, vous pouvez rencontrer des situations dans lesquelles vous souhaitez exclure certains packages ou répertoires de essai. Dans Go, il est possible de spécifier les packages à tester directement depuis la ligne de commande.

Par exemple, disons que vous avez une structure de projet comme celle-ci :

mypackage
mypackage/net
mypackage/other
mypackage/scripts

Pour tester uniquement le mypackage , mypackage/other et mypackage/net packages tout en excluant mypackage/scripts, vous pouvez utiliser les éléments suivants command :

go test import/path/to/mypackage import/path/to/mypackage/other import/path/to/mypackage/net

Alternativement, si votre syntaxe shell préférée le permet, vous pouvez utiliser le raccourci suivant :

go test import/path/to/mypackage{,/other,/net}

Une autre approche consiste à utiliser go list, qui renvoie une liste de packages correspondant à un modèle donné. Vous pouvez diriger cette sortie vers une commande comme grep et filtrer les packages que vous ne souhaitez pas tester, comme ceci :

go test `go list ./... | grep -v directoriesToSkip`

Dans les cas où la raison pour laquelle les tests sont ignorés est d'optimiser le temps d'exécution, le test les fonctions elles-mêmes peuvent vérifier testing.Short() et décider si elles doivent être ignorées en utilisant t.Skip(). Cela permet des tests sélectifs lors de l'appel de go test -short.

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