CodeVetter · Repo Unpack · Feature catalog
gotestyourself/gotestsum
The primary feature is configurable presentation of Go test events with a final failure-oriented summary. Automation features export reports, retry failed tests, limit failures, and invoke external commands. Local workflows include file watching, debugger integration, and desktop notification examples. Two tool commands consume historical event data for slow-test analysis and CI partition planning.
- NewEventFormatter supports package, test-name, testdox, dots, standard quiet/verbose/JSON, GitHub Actions, debug, and none formats, including compatibility aliases.
- --format-icons selects default, hivis, text, codicons, octicons, or emoticons; --format-hide-empty-pkg applies to supported compact formats, and --no-color controls global color output.
- --hide-summary selectively hides skipped, failed, errors, or output sections; PrintSummary still prints the final test-count and elapsed-time line.
- --jsonfile records raw events, --jsonfile-timing-events records terminal events, and --junitfile supports project naming, name/classname formatting, and empty/skipped filtering.
- --rerun-fails defaults to two reruns when supplied without a value, limits initial failures to ten by default, supports root-test reruns and a report file, and optionally aborts on data races; --max-fails stops scanning at a failure threshold.
- --raw-command runs a supplied executable instead of prepending go test; documented uses include stdin replay and compiled test binaries through test2json, with GOVERSION available when Go is absent.
- --watch reruns changed packages, supports screen clearing and per-package working directories, and offers Unix r/d/a/l/u shortcuts; post-run hooks can invoke notification examples backed by platform-specific executables.
- tool slowest prints median-based slow-test timings or inserts --skip-stmt into source; tool ci-matrix reads package names from stdin and timing-file globs to emit a GitHub Actions matrix.