Congratulations on the book! It looks like a very practical and helpful book for Go developers.
From the contents, I see there is a section on testing. What kinds of tools does the go community have to build generated test reports? Will the build of a go project fail if a test fails or can the developer force that behavior?
Is there a common or best practice for integrating go applications in a CI solution like Jenkins? It seems that if the Jenkins build server has the correct version of go installed that integration with Jenkins should be pretty easy. Is this a common practice in the go community?
The Go toolchain, which includes the compiler, also includes testing and reporting tools. Testing is a first class citizen.
Test files are those that end in _test.go. Files with this ending are skipped when building but included when running the test suite. Test files live alongside application source files.
Tests use the testing package from the standard library. Tests start with Test. For example...
Normal language functionality is used in the tests. In addition to tests like this there are benchmarks, example, and more.
Then there are feature like the code coverage reports. You can read about them in this blog post. This has now been moved into the toolchain and requires no additional feature be installed. There coverage reports can be viewed in HTML or exported to other services like https://coveralls.io/.
It's really common to integrate Go into testing systems. For example, Travis CI has Go support as a first class language. If you have Go installed on a Jenkins server you can test with it. Or, if you want to test against multiple versions you can even use the Docker plugin for Jenkins and use differing versions of the golang image as a base.