10

I wonder if there's any tool that can convert go test -coverprofile=cover.out into the formats that Jenkins can accept? I found some tools like go-junit-report and go2xunit, but they actually just convert output from go test -v, which is not the coverage report.

I want to know the detailed test coverage in Jenkins directly. Basically, I want to see the output from go tool cover -func=cover.out and go tool cover -html=cover.out in Jenkins webpage.

3 Answers 3

16

There are several go tools for converting coverage data from go test to Cobertura for Jenkins: gocover-cobertura, or gocov with gocov-xml.

You can use gocover-cobertura as follows:

$ go get github.com/t-yuki/gocover-cobertura

$ go test -coverprofile=cover.out example.com/demo/...
ok      example.com/demo    0.008s  coverage: 0.0% of statements
ok      example.com/demo/cmd/demo   0.020s  coverage: 23.4% of statements

$ gocover-cobertura < cover.out > coverage.xml

$ head coverage.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage line-rate="0.35415787" branch-rate="0" version="" timestamp="1520609235359" lines-covered="839" lines-valid="2369" branches-covered="0" branches-valid="0" complexity="0">
        <sources>
                <source>/usr/local/go/src</source>
                <source>/Users/wilfred/workspace/go-scratch/src</source>
        </sources>
        <packages>
                <package name="example.com/demo/cmd/demo" line-rate="0.4848485" branch-rate="0" complexity="0">
                        <classes>

Note that you'll need Go 1.10+ to run -coverprofile against multiple packages in one run.

Sign up to request clarification or add additional context in comments.

Comments

3

https://github.com/AlekSi/gocov-xml

This is what we need. Use Coberuta plugin to generate the coverage profile.

Comments

1

There isn't a dedicated plugin for Go coverage reports, nor really for generic code coverage.

For reports like this, I use the HTML Publisher Plugin to publish .html files created during a build.

2 Comments

I just found github.com/AlekSi/gocov-xml, I think it will do what we need!
Ah, nice. Good to know!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.