Heim > Backend-Entwicklung > Golang > Wie erreicht man eine genaue Go-Code-Abdeckung für isolierte Pakete?

Wie erreicht man eine genaue Go-Code-Abdeckung für isolierte Pakete?

Linda Hamilton
Freigeben: 2024-11-27 06:09:09
Original
614 Leute haben es durchsucht

How to Achieve Accurate Go Code Coverage for Isolated Packages?

So messen Sie die Codeabdeckung isolierter Ordner in Go

In Go kann sich das Messen der Codeabdeckung für Pakete, die sich in separaten Ordnern befinden, als Herausforderung erweisen. Betrachten Sie die folgende Projektstruktur:

stuff/stuff.go -> package: stuff
test/stuff/stuff_test.go -> package: test
Nach dem Login kopieren

Auch wenn stuff_test.go Code von stuff.go ausführt, kann der Abdeckungsbericht Folgendes anzeigen:

coverage: 0.0% of statements
Nach dem Login kopieren

Dies liegt daran, dass go test -cover von Standardmäßig wird nur das getestete Paket analysiert, nicht seine Abhängigkeiten.

Um dieses Problem zu beheben, können Sie mit der Option -coverpkg angeben, welche Pakete für die Abdeckung in Betracht gezogen werden sollen Analyse. Der folgende Befehl schließt beispielsweise alle Pakete im aktuellen Verzeichnis ein:

go test ./test/... -coverprofile=cover.out -coverpkg ./...
Nach dem Login kopieren

Sobald die Testausführung abgeschlossen ist, können Sie einen Abdeckungsbericht erstellen mit:

go tool cover -html=cover.out
Nach dem Login kopieren

Dies wird Stellen Sie einen detaillierten Bericht über die Codeabdeckung für Ihr Projekt bereit, einschließlich der Abdeckung von Paketen in separaten Ordnern.

Das obige ist der detaillierte Inhalt vonWie erreicht man eine genaue Go-Code-Abdeckung für isolierte Pakete?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage