The solution of golang/go#6909 with one binary.
go get -u github.com/haya14busa/goverage
Usage: goverage [flags] -coverprofile=coverage.out packages
Flags:
-covermode string
sent as covermode argument to go test
-coverprofile string
Write a coverage profile to the file after all tests have passed
-cpu string
sent as cpu argument to go test
-go-binary
An alternative 'go' binary to run the tests, for example to use 'richgo' for
more human-friendly output.
-parallel string
sent as parallel argument to go test
-race
enable data race detection
-short
sent as short argument to go test
-timeout string
sent as timeout argument to go test
-v sent as v argument to go test
$ goverage -v -coverprofile=coverage.out ./...
$ go tool cover -html=coverage.out
haya14busa (https://github.com/haya14busa)