Heim >Backend-Entwicklung >Golang >Wie kann ich eine genaue Codeabdeckung erreichen, wenn ich Integrationstests über verschiedene Go-Pakete hinweg durchführe?

Wie kann ich eine genaue Codeabdeckung erreichen, wenn ich Integrationstests über verschiedene Go-Pakete hinweg durchführe?

Susan Sarandon
Susan SarandonOriginal
2024-12-12 13:16:09794Durchsuche

How Can I Achieve Accurate Code Coverage When Running Integration Tests Across Separate Go Packages?

Paketübergreifende Tests auf Codeabdeckung

Beim Ausführen von Integrationstests in separaten Paketen kann das Erreichen einer genauen Codeabdeckung eine Herausforderung sein. Standardmäßig analysieren Tests nur das getestete Paket.

In Ihrem Beispiel befinden sich die Integrationstests im Paket „itest“, während sich der zu testende Code im Paket „hello“ befindet. Das Ausführen der Tests mit go test -v -coverpkg ./... ./itest führt zu einer Abdeckung von 0 %, da die Testabdeckung auf das Paket „itest“ beschränkt ist.

Um eine umfassende Codeabdeckung zu erhalten, muss - Das coverpkg-Flag muss das Paket enthalten, das den zu testenden Code enthält. Der richtige Befehl lautet:

go test -v -coverpkg ./... ./...

Mit dieser Änderung analysieren die Tests sowohl die Pakete „hello“ als auch „itest“ und liefern die erwarteten Abdeckungsergebnisse.

Das obige ist der detaillierte Inhalt vonWie kann ich eine genaue Codeabdeckung erreichen, wenn ich Integrationstests über verschiedene Go-Pakete hinweg durchführe?. 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