2015-07-14 4 views
9

Заранее спасибо за помощь ...Golang выход coverprofile формат

Я пытаюсь разобраться в опции -coverprofile cover.out в go test, в частности, формат файла.

Покрытие server.go, например, дает выход в 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. Что означает каждый из различных столбцов?
  2. Формат выходного сигнала в стандартном формате, например. gcov, xunit и т. д. и конвертируемыми в другой формат?

Еще раз спасибо!

ответ

5

Сообщество голанг-орехов (https://groups.google.com/forum/#!forum/golang-nuts) предоставило пару полезных инструментов для преобразования покрытия Go в более полезные форматы.

JUnit Формат (для подведения итогов тестирования казни):

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

Cobertura Формат (для детализации покрытия кода):

# 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 

поток, который указал мне в этом направлении был здесь: https://groups.google.com/forum/#!topic/golang-nuts/iUc68Zrxk_c

+5

Как это принято? Это не отвечает на вопрос! –

4

Вы обрабатываете профиль крышки, используя ходу cover инструмент:

Откройте веб-браузер, отображая аннотированный исходный код:

go tool cover -html=c.out 

выписывать файл HTML вместо запуска веб-браузера:

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

Показатель охвата экрана до стандартного значения для каждой функции:

go tool cover -func=c.out 
+0

Я не вижу '' '-html''' или' '' -func''' как вариант ... Я что-то отсутствует? http://pastebin.com/d2wgQyDM –

+1

@ChristianNuss: вам нужно использовать инструмент обложки. Используйте команды точно так же, как они напечатаны в моем ответе (который берется непосредственно из 'go tool cover -help') – JimB

+0

Ahh, спасибо, сначала запустите go-test -coverprofile, а затем запустите go tool cover на этом выходном файле. Тем не менее, есть ли способ конвертировать исходный файл исходной обложки в другой формат, желательно xunit? –

Смежные вопросы