Ref: https://go.dev/doc/go1.20
Go 1.20 supports collecting code coverage profiles for programs (applications and integration tests), as opposed to just unit tests.
To collect coverage data for a program, build it with go build's -cover flag, then run the resulting binary with the environment variable GOCOVERDIR set to an output directory for coverage profiles.