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
Linda HamiltonOriginal
2024-11-27 06:09:09621Durchsuche

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

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

coverage: 0.0% of statements

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 ./...

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

go tool cover -html=cover.out

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!

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