Heim >Backend-Entwicklung >Golang >Wie kann ich die Ergebnisse der Go-Paketabdeckung zusammenfassen?
Aggregierte Go-Paketabdeckung
Wenn Sie Tests in Ihrer Go-Bibliothek ausführen, müssen Sie möglicherweise eine konsolidierte Abdeckungsübersicht für alle Pakete erhalten Pakete. Standardmäßig stellt das Flag „-cover“ nur Abdeckungsinformationen für jedes Paket einzeln bereit.
Lösung
Seit Go 1.10 können Sie das Flag „-coverpkg“ verwenden um dieses Problem anzugehen. Führen Sie einfach den folgenden Befehl aus:
go test -v -coverpkg=./... -coverprofile=profile.cov ./...
Nachdem Sie Ihre Tests ausgeführt haben, generieren Sie die aggregierte Abdeckungsanalyse mit:
go tool cover -func profile.cov
Legacy-Methode (Pre-Go 1.10)
Für Go-Versionen vor 1.10 können Sie das folgende Bash-Skript verwenden:
#!/bin/bash echo 'mode: count' > profile.cov for dir in $(find . -maxdepth 10 -not -path './.git*' -not -path '*/_*' -type d); do if ls $dir/*.go &>/dev/null; then go test -short -covermode=count -coverprofile=$dir/profile.tmp $dir if [ -f $dir/profile.tmp ]; then cat $dir/profile.tmp | tail -n +2 >> profile.cov rm $dir/profile.tmp fi fi done go tool cover -func profile.cov
Das obige ist der detaillierte Inhalt vonWie kann ich die Ergebnisse der Go-Paketabdeckung zusammenfassen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!