Heim >Backend-Entwicklung >Golang >Wie kann ich eine umfassende Codeabdeckung über mehrere Go-Pakete hinweg erhalten?

Wie kann ich eine umfassende Codeabdeckung über mehrere Go-Pakete hinweg erhalten?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-21 06:06:18188Durchsuche

How Can I Get Comprehensive Code Coverage Across Multiple Go Packages?

So erfassen Sie eine umfassende Codeabdeckung für mehrere Go-Pakete

Beim Testen großer Projekte in Go kann es schwierig sein, einen konsolidierten Überblick zu erhalten der Codeabdeckung über mehrere Pakete hinweg. Während das „-cover“-Flag Abdeckungsinformationen für einzelne Pakete bereitstellt, hilft eine ganzheitliche Ansicht der projektweiten Abdeckung bei der Bewertung der Gesamtcodequalität.

Ursprünglich war für den Erhalt eines vollständigen Abdeckungsberichts eine benutzerdefinierte Lösung wie das Bash-Skript erforderlich bereitgestellt vom Gosweep-Projekt. Mit der Einführung von Go 1.10 wurde jedoch ein optimierterer Ansatz verfügbar.

Go 1.10 führte erhebliche Verbesserungen der Testabdeckung ein, einschließlich der Möglichkeit, die Abdeckung für Abhängigkeiten zu aktivieren, die im Flag „-coverpkg“ angegeben sind. Durch die Verwendung dieses Flags ist es nun möglich, den folgenden Befehl auszuführen, um eine umfassende Codeabdeckung zu erfassen:

go test -v -coverpkg=./... -coverprofile=profile.cov ./...

Dieser Befehl generiert ein Abdeckungsprofil mit dem Namen „profile.cov“, das weiter analysiert werden kann mit:

go tool cover -func profile.cov

Diese verbesserte Abdeckungsfunktion macht komplexe Skripte überflüssig und bietet eine vereinfachte Methode zur Bewertung der gesamten Codeabdeckung in Go-Projekten.

Das obige ist der detaillierte Inhalt vonWie kann ich eine umfassende Codeabdeckung über mehrere Go-Pakete hinweg erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn