Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The same coverage reported from the command line:

How to Generate Code Coverage Reports for Golang Applications

This document covers how to generate HTML Code Coverage Reports for Golang Applications.

Code Block
languagebash
titleGenerate and run a test executable which calls your main()
linenumberstrue
go test -c -covermode=count -coverpkg ./...
./sms.test -test.run "^TestMain$" -test.coverprofile=coverage.cov
Code Block
languagebash
titleRun your Unit tests for their coverage
linenumberstrue
go test -test.covermode=count -test.coverprofile=unit.out ./...
Code Block
languagebash
titleMerge coverage Reports
linenumberstrue
go get github.com/wadey/gocovmerge
gocovmerge unit.out coverage.cov > all.out
Code Block
languagebash
titleGenerate Reports
linenumberstrue
# HTML Report File
go tool cover -html all.out -o coverage.html

# Function Coverage Report
go tool cover -func all.out