Capturing Code Coverage for Go Binaries during Integration Testing
Gathering code coverage metrics during unit testing is straightforward in Go. However, capturing coverage data during integration tests run against the binary itself is also desirable.
Can it be Done?
Yes, it is possible to measure code coverage for integrations tests involving Go binaries. However, the standard Go coverage tool only operates in conjunction with the testing package.
Solution: Leverage the Testing Framework
To bridge this gap, coerce your integration tests into the Go testing framework. This requires:
Creating a test file that invokes your main() function within a go routine:
func TestMainApp(t *testing.T) { go main() // .. then start your integration tests }
Additional Reference
For a detailed implementation, refer to the article "Go coverage with external tests" for a similar approach.
The above is the detailed content of How Can I Capture Go Code Coverage During Integration Testing?. For more information, please follow other related articles on the PHP Chinese website!