Heim >Backend-Entwicklung >Golang >Wie kann ich eine genaue Codeabdeckung erreichen, wenn ich Integrationstests über verschiedene Go-Pakete hinweg durchführe?
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!