Maison > Article > développement back-end > Comment mesurer la couverture des tests pour les tests d'intégration Go ?
Détermination de la couverture des tests dans les tests d'intégration Go
Les tests d'intégration visent à évaluer la fonctionnalité d'un système dans son ensemble, souvent en se moquant ou en contrôlant dépendances externes. Cependant, déterminer la couverture des tests d'intégration pose des défis uniques.
Mesurer la couverture dans les tests hors package
Dans le scénario décrit, les tests sont distincts des packages ils testent. Par conséquent, la commande go test -cover signale une couverture de 0 %. Pour résoudre ce problème, on peut utiliser la directive -coverpkg.
Utiliser -coverpkg pour une couverture de paquet spécifique
La directive -coverpkg permet de mesurer la couverture de test dans un package, même si les tests sont externes. Il prend le chemin du package comme argument.
Par exemple, la commande suivante mesure la couverture du package mypackage :
$ go test -cover -coverpkg mypackage ./src/api/...
Cette approche permet l'analyse ciblée de la couverture du package en intégration tests.
Exemple de sortie de couverture
Prenons un exemple où le package API contient des tests dans main_test.go. La majeure partie de la logique métier réside dans le package mypackage. L'exécution de la commande avec -coverpkg fournit une représentation plus précise de la couverture :
$ go test -cover -coverpkg mypackage ./src/api/... ok /api 0.190s coverage: 50.8% of statements in mypackage ok /api/mypackage 0.022s coverage: 0.7% of statements in mypackage
Cette sortie montre que les tests couvrent 50,8 % des instructions du package mypackage. En revanche, sans utiliser -coverpkg, la couverture semblerait plus élevée à 71,0 %, ce qui est dû à des tests effectués en dehors du package spécifié.
Considérations supplémentaires
Cela vaut la peine notant que les tests d'intégration couvrent généralement moins de code que les tests unitaires en raison de la complexité des simulations et de la nature des tests à l'échelle du système. Cependant, l'approche décrite ci-dessus fournit un moyen de mesurer la couverture réelle des tests d'intégration spécifiquement pour les packages pertinents.
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!