One great thing about testing Go code is that the language itself comes with batteries included: it ships with a built-in, albeit minimalistic, framework for authoring and running tests.
From a purist's perspective, that's all that you need to be up and running! The built-in testing package provides all the required mechanisms for running, skipping, or failing tests. All the software engineer needs to do is set up the required test dependencies and write the appropriate predicates for each test. One caveat of using the testing package is that it does not provide any of the more sophisticated test primitives, such as assertions or mocks, that you may be used to if you've come from a Java, Ruby, or Python ...