Toshimaru's Blog

How to Measure Code Coverage on CodeClimate in Go

Would you like to measure code coverage on Code Climate in Go?

Viewing Coverage Result

All you need to is adding -coverprofile c.out option to go test command.

$ go test ./... -coverprofile c.out

c.out is a test coverage result file.

Sending Coverage Result

This is a sample to send coverage result on TravisCI.

curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
chmod +x ./cc-test-reporter
./cc-test-reporter before-build
# RUN TEST HERE
# go test ./... -coverprofile c.out
./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT

Sample Setting for TravisCI

Whole sample for TravisCI:

language: go
before_script:
  - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
  - chmod +x ./cc-test-reporter
  - ./cc-test-reporter before-build
script:
  - go test ./... -coverprofile c.out
after_script:
  - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT

Reference

See Also