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!).
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):
The coverage profiles and html files are stored at:
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!)