Maison >développement back-end >Golang >Comment puis-je mesurer la couverture d'un package avec des fichiers de test séparés dans Go ?
Test de la couverture des packages avec des fichiers de test séparés
Lors de l'organisation d'une base de code avec de nombreux fichiers de test, il peut être avantageux de séparer les tests des tests réels. base de code pour plus de clarté et le respect des meilleures pratiques. Dans de tels scénarios, les fichiers de test peuvent résider dans un package différent de celui du code testé.
Un défi potentiel survient lors de l'obtention de statistiques de couverture pour le package réellement testé. Par défaut, les tests ne couvrent que le package dans lequel ils résident. Ce problème provient de l'approche de Go, qui dicte que le code et les fichiers de test doivent coexister au sein du même package.
Solution
Heureusement, Go propose une solution à ce dilemme :
go test -cover -coverpkg "api_client" "api_client_tests"
En spécifiant l'indicateur "-coverpkg", vous pouvez demander à Go de mesurer la couverture pour le package spécifié ("api_client" dans ce cas ), lors de l'exécution de tests à partir d'un package distinct ("api_client_tests"). Cela vous permet de vérifier avec précision la couverture de votre package client API sans avoir besoin de le consolider avec les fichiers de test.
Approche alternative
Bien que l'utilisation de packages de test séparés puisse offrent des avantages en termes d'organisation, il convient de noter que cette approche s'écarte de la manière conventionnelle Go d'organiser le code et les tests. Si les tests en boîte noire sont votre objectif principal, où seules les API des packages publics sont accessibles aux tests, une méthode alternative est disponible :
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!