There are a number of helpful tools for Go testing: tools that make it easier to get an idea of code coverage at a per-function level, tools to implement assertions to reduce testing lines of code, and test runners. This recipe will cover the github.com/axw/gocov and github.com/smartystreets/goconvey packages in order to demonstrate some of this functionality. There are a number of other notable test frameworks depending on your needs. The github.com/smartystreets/goconvey package supports both assertions and is a test runner. It used to be the cleanest way to have labeled subtests prior to Go 1.7.
Getting ready
Configure your environment according to these steps:
- Refer to the Technical requirements section at the beginning of this chapter.
- Run thego get github.com/axw/gocov/gocov command.
- Run thego get github.com/smartystreets/goconvey command.
How to do it...
These...