Heim > Backend-Entwicklung > Golang > Warum wird die Abdeckung meines Go-Codes trotz erfolgreicher Testausführung in separaten Ordnern mit 0 % angezeigt?

Warum wird die Abdeckung meines Go-Codes trotz erfolgreicher Testausführung in separaten Ordnern mit 0 % angezeigt?

Patricia Arquette
Freigeben: 2024-11-28 10:59:11
Original
771 Leute haben es durchsucht

Why Is My Go Code Coverage Showing 0% Despite Successful Test Execution in Separate Folders?

Beheben von Diskrepanzen bei der Codeabdeckung in separaten Ordnern für GO-Projekte

Bei der Arbeit an einem Projekt mit einer bestimmten Struktur, in der sich Pakete und ihre Tests befanden sich in separaten Ordnern befinden, ist ein Problem aufgetreten. Trotz der Ausführung des Codes in stuff.go von stuff_test.go zeigte der Abdeckungsbericht 0,0 % an.

Mögliche Ursache und Lösung

Das Problem entsteht durch die Standardeinstellung von GO Abdeckungsanalyseverhalten, das nur für das getestete Paket gilt. Um dies zu umgehen, kann das Flag -coverpkg verwendet werden, um die Pakete anzugeben, für die Abdeckungsdaten erfasst werden sollen.

Mit der Option -coverpkg können Sie angeben, dass Tests in test/stuff/stuff_test.go dies tun sollen Berücksichtigen Sie auch die Codeabdeckung für stuff/stuff.go. Dadurch wird sichergestellt, dass die Abdeckungsanalyse alle relevanten Pakete umfasst.

Hier ist ein Beispielbefehl, der die Verwendung von -coverpkg demonstriert:

go test ./test/... -coverpkg ./...
Nach dem Login kopieren

Dieser Befehl führt Tests in Paketen aus, die dem Testpfad und den Includes entsprechen Abdeckungsinformationen für alle Pakete, die mit ./.... übereinstimmen.

Anzeigen der Abdeckung Bericht

Sobald die Tests ausgeführt wurden, können Sie den Abdeckungsbericht mit den folgenden Befehlen erstellen und anzeigen:

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

Dieser Befehl generiert einen HTML-Abdeckungsbericht mit dem Namen cover.out, die in einem Webbrowser geöffnet werden kann, um die Abdeckungsdaten anzuzeigen.

Das obige ist der detaillierte Inhalt vonWarum wird die Abdeckung meines Go-Codes trotz erfolgreicher Testausführung in separaten Ordnern mit 0 % angezeigt?. 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