2015-07-14 23 views
9

Dzięki z góry za pomoc ...format coverprofile Golang

Próbuję sensu opcji -coverprofile cover.out w go test, specjalnie format pliku.

Pokrycie server.go na przykład, daje wyjście w cover.out:

mode: set 
github.com/cnuss/api_server/server.go:47.2,48.16 2 0 
github.com/cnuss/api_server/server.go:52.2,53.16 2 0 
github.com/cnuss/api_server/server.go:57.2,58.16 2 0 
github.com/cnuss/api_server/server.go:62.2,63.16 2 0 
github.com/cnuss/api_server/server.go:67.2,68.16 2 0 
github.com/cnuss/api_server/server.go:72.2,73.16 2 0 
github.com/cnuss/api_server/server.go:77.2,78.16 2 0 
  1. Co każdy z różnych kolumn oznacza?
  2. Czy format wyjściowy ma format "standardowy", np. gcov, xunit itd. i można go przekonwertować na inny format?

Jeszcze raz dziękuję!

Odpowiedz

5

Społeczność golang-nuts (https://groups.google.com/forum/#!forum/golang-nuts) dostarczyła kilka przydatnych narzędzi do konwersji pokrycia Go na bardziej przydatne formaty.

JUnit Format (dla podsumowując egzekucje test):

# Prerequisites 
go get github.com/jstemmer/go-junit-report 
# Tests 
go test -v | go-junit-report > report.xml 

Cobertura Format (do wyszczególnienia pokrycia kodu):

# Prerequisites 
go get github.com/axw/gocov/gocov 
go get github.com/AlekSi/gocov-xml 
# Coverage 
go test -coverprofile=cover.out 
gocov convert cover.out | gocov-xml > coverage.xml 

wątku, który wskazał mi w tym kierunku było tutaj: https://groups.google.com/forum/#!topic/golang-nuts/iUc68Zrxk_c

+5

Jak to jest zaakceptowaną odpowiedzią? Nie odpowiada na pytanie! –

4

przetwarzać profil okładkę korzystając cover narzędzie ruchu:

Otwórz przeglądarkę internetową wyświetlania uwagami kod źródłowy:

go tool cover -html=c.out 

wypisać plik HTML zamiast uruchamiania przeglądarki internetowej:

go tool cover -html=c.out -o coverage.html 

Wyświetlane wartości procentowe pokrycia na standardowe stdout dla każdej funkcji:

go tool cover -func=c.out 
+0

nie widzę '' '-html''' lub' '' -func''' jako opcja ... Czy ja czegoś brakuje? http://pastebin.com/d2wgQyDM –

+1

@ChristianNuss: musisz użyć narzędzia okładki. Użyj poleceń dokładnie tak, jak są one drukowane w mojej odpowiedzi (która jest pobierana bezpośrednio z 'go tool cover -help') – JimB

+0

Ahh, dziękuję, najpierw uruchom go test -coverprofile, a następnie uruchom pokrywę narzędzia go na tym pliku wyjściowym. Nadal istnieje sposób, aby przekonwertować plik wyjściowy surowej okładki na inny format, najlepiej xunit? –

10

Dostępne są następujące pola:

name.go:line.column,line.column numberOfStatements count 

Source