Go's testing is built into the standard library with no external framework required. Tests live alongside source code, table-driven tests are idiomatic, and benchmarks and examples are first-class citizens.
No magic: tests are plain Go functions — easy to debug, no annotation processing
Subtests via t.Run(): independent failure reporting, can run individual cases with -run
Testdata directory convention: test fixtures in testdata/ are ignored by the build tool
Testing helpers use t.Helper() to report errors at the call site, not inside the helper
go test caches results — unchanged packages are not retested, making test suites fast