Product Features Demo Pricing Resources Contact Documentation Articles Company Customers Legal Stuff

HTML Coverage Reports with GoConvey

For packages that pass all tests, coverage reports are generated and made available by clicking the package name.
February 18, 2014 (subscribe)

You asked for it and now you’ve got it.

For packages that pass all tests, coverage reports are generated and made available by clicking the package name, which in that case becomes a link (provided you’ve cleared your browser’s cache!).

Click the package name

Right now the coverage command that is run is something like this:

$ go test -covermode=set -coverprofile=<package_name>.txt

That command generates a plain text profile used in the following command:

$ go tool cover -html=<package_name>.txt -o <packge_name>.html

…which plunks down an html file which we can link to from the UI.

As you can see above, we use the ‘set’ covermode as it is more suited for concurrent scenarios and is the cheapest report to generate (thanks to Rob Pike for the advice on that one). We might support other values there if it’s wanted (a phrase which here means comment below if you have strong feelings).

Here’s what a bit of the report looks like (gradient of grey through green means covered, red means not covered):

Thanks to the go team for the go cover tool!

The coverage profiles and html files are stored at:

$GOPATH/src/github.com/smartystreets/goconvey/web/client/reports

Out of the way but available to you if you have plans for them. There’s lots you can do with coverage in GoLang. Happy testing!

PS - Brand new shiny UI coming soon to GoConvey… (as if it wasn’t good enough already!)