Testabdeckung in Go-Integrationstests messen
Bei der Durchführung von Integrationstests auf einer Go-REST-API kann die Verwendung von go test -cover zu irreführenden Ergebnissen führen 0 % Testabdeckung. Dies liegt daran, dass die Tests, die sich außerhalb der Servicepakete befinden, von der Go-Tool-Abdeckung nicht erkannt werden.
Die Direktive -coverpkg bietet jedoch eine Lösung, indem sie die Testabdeckung innerhalb eines bestimmten Pakets misst, unabhängig davon, ob die Tests gehören zu diesem Paket. Dies ermöglicht genaue Abdeckungsberichte von Servicepaketen, wie zum Beispiel:
$ go test -cover -coverpkg mypackage ./src/api/... ok /api 0.190s coverage: 50.8% of statements in mypackage ok /api/mypackage 0.022s coverage: 0.7% of statements in mypackage
Im Gegensatz dazu würde die Verwendung von go test -cover Folgendes melden:
$ go test -cover ./src/api/... ok /api 0.191s coverage: 71.0% of statements ok /api/mypackage 0.023s coverage: 0.7% of statements
Dies zeigt die Wirksamkeit von -coverpkg in Isolieren der Abdeckungsmessung auf das gewünschte Paket, in diesem Fall mypackage. Obwohl dies möglicherweise nicht der optimale Ansatz für die Abdeckung von Integrationstests ist, bietet es einen wertvollen Einblick in die Codeabdeckung für bestimmte Module.
Das obige ist der detaillierte Inhalt vonWie kann ich die Abdeckung in Go-Integrationstests genau messen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!