CheckOps
gotestsum
gotestsum is an Apache-2.0 'go test' runner that formats output for humans, writes JUnit XML for CI, summarises results and can rerun failed tests.
Latest public signals
Not refreshed yet. Refresh reads the public site and, when the entry has a GitHub repository, the latest release.
Introduction
gotestsum runs go test and reformats its JSON output. Its description promises output optimised for humans, JUnit XML for CI integration, and a summary of results.
Formats range from dots to package lists to testname views, and the summary lists failures, skips and slow tests at the end. --junitfile writes reports that CI systems display natively, --jsonfile saves raw events, --rerun-fails retries failed tests to separate flakes from real failures, and --watch reruns tests when files change.
In the quality loop gotestsum improves CI reporting and flaky-test handling for Go.
The source code is at gotestyourself/gotestsum on GitHub under the Apache-2.0 licence, with about 2,700 stars; the most recent commit was on 15 April 2026.
Features
- Readable formats: Several output styles.
- JUnit XML: Native CI test reports.
- Rerun failures: Retry failed tests a set number of times.
- Watch mode: Rerun on file changes.
- Slow test report: Highlights slow tests.
- Wraps go test: No changes to tests needed.
Pros
- Drop-in: Works with any Go test suite.
- Free to use: Open source under the Apache-2.0 licence, so the core tool costs nothing to use.
- Actively maintained: The repository had commits as recent as 15 April 2026.
Cons
- Go only: Single-language tool.
- Retries can hide flakes: Track reruns rather than ignoring them.
- Infrequent releases: Last release was in 2025.
Usage and Links (Example)
go install gotest.tools/gotestsum@latest
gotestsum --format testname --junitfile report.xml --rerun-fails=2 --packages=./... -- -race
Resources:
Pricing
gotestsum is free and open source under the Apache-2.0 licence.
Recommended for?
- Go teams wanting readable CI output and JUnit reports.
- Repositories with occasional flaky tests.
Conclusion
gotestsum is a small tool that noticeably improves Go test output in CI.
Use reruns to measure flakiness, not to mask it.
On CheckOps, gotestsum is filed under the Release & CI gates and Unit testing stages. Related tools listed here include Go testing package, Testify, Ginkgo, pytest-rerunfailures, Gradle Test Retry Plugin and Trunk Flaky Tests. Before standardising on one, compare recent maintenance activity, the pricing model as your usage grows, and the integrations you rely on today. Information on this page was verified against the official website, documentation and repository on 11 November 2026.
Alternatives
Other tools on CheckOps that cover similar ground. Open a page, or compare one with gotestsum side by side.
GGo testing packageGo's built-in testing package and go test command provide unit tests, table-driven subtests, benchmarks, fuzzing, examples and coverage with no third-party dependencies.Compare with gotestsum
TTestifyTestify is an MIT-licensed Go toolkit with assert and require assertion packages, mock objects and test suites, the most widely used testing library in the Go ecosystem.Compare with gotestsum
GGinkgoGinkgo is an MIT-licensed BDD-style testing framework for Go with Describe/Context/It specs, parallel execution, focused and labelled specs and rich reporting, usually paired with the Gomega matcher library.Compare with gotestsum
Ppytest-rerunfailurespytest-rerunfailures is an MPL-2.0 pytest plugin from pytest-dev that re-runs failed tests up to a set number of times to reduce flaky failures.Compare with gotestsum
GGradle Test Retry PluginThe Gradle Test Retry Plugin is an Apache-2.0 plugin from Gradle that retries failed JVM tests to mitigate flakiness, reporting tests that passed on retry as flaky.Compare with gotestsum
TTrunk Flaky TestsTrunk Flaky Tests is a commercial service that detects, quarantines and tracks flaky tests for any language, test runner and CI provider, with AI grouping of related failures and a generous free tier.Compare with gotestsum