Ginkgo
onsi.github.io
What it is
Ginkgo is a free, MIT-licensed testing framework for Go that helps developers write expressive specifications. Its BDD-style DSL uses nested Describe, Context, and When containers, along with setup, cleanup, and spec nodes. Developers can use it for unit, integration, and performance specs. Independent specs can run in parallel or in reproducibly randomized order. The bundled ginkgo command can generate, run, filter, and profile suites, and watch for changes to rerun specs. Reporting can produce machine-readable output in multiple formats and supports custom reporting infrastructure. Ginkgo builds on Go’s testing foundation and is designed to pair with the Gomega matcher library. Its GinkgoT() and GinkgoTB() interfaces also allow use of Go testing libraries such as Testify and Gomock. Documentation lists completions for Sublime Text and VS Code, plus a VS Code extension for running specs. The current supported major version is V2; V1 is no longer supported. Ginkgo states compatibility with Go versions currently supported under Go’s release policy, N and N−1.
Spec sheet
- Purpose
- Ginkgo is a testing framework for Go for writing expressive tests, including unit, integration, acceptance, and performance tests.Read 30 Sep 2026 · onsi.github.io
- Intended users
- The documentation assumes users are familiar with Go and the Go toolchain.Read 30 Sep 2026 · onsi.github.io
- Integrations
- Ginkgo exposes GinkgoT() and GinkgoTB() so many Go testing libraries, including Testify and Gomock, can be used with it.Read 30 Sep 2026 · onsi.github.io
- Support
- The project directs users with questions, bug reports, and feature requests to GitHub Issues or its Slack channel.Read 29 Sep 2026 · github.com
- License
- The repository states that Ginkgo is MIT-Licensed.Read 29 Sep 2026 · github.com
- Founded
- 2013Read 28 Sep 2026 · onsi.github.io
- BDD-style DSL
- Its DSL supports nested Describe, Context, and When containers, setup and cleanup nodes, and spec nodes.Read 29 Sep 2026 · github.com
- CI
- The CLI supports GitHub Actions friendly output, and the docs recommend a set of flags for continuous integration runs.Read 30 Sep 2026 · onsi.github.io
- CLI
- The Ginkgo CLI can bootstrap and generate test files, run suites, watch for changes, and build test binaries.Read 30 Sep 2026 · onsi.github.io
- Compatibility
- The current Ginkgo version is guaranteed to be compatible with the currently supported Go versions N and N−1 under Go's release policy.Read 30 Sep 2026 · onsi.github.io
- Execution
- Ginkgo supports reproducibly randomizing spec order and running specs in parallel.Read 29 Sep 2026 · github.com
- IDE support
- The documentation lists completions for Sublime Text and VS Code, plus a VS Code extension for running specs.Read 30 Sep 2026 · onsi.github.io
- Integration
- Ginkgo is built on Go's testing foundation and is complemented by the Gomega matcher library.Read 29 Sep 2026 · github.com
- Matchers
- Ginkgo is designed to be paired with Gomega, which provides its matcher library.Read 30 Sep 2026 · onsi.github.io
- Reporting
- Ginkgo provides CLI support for generating and aggregating machine-readable reports, plus extensible reporting for custom formats.Read 30 Sep 2026 · onsi.github.io
- Test execution
- Ginkgo supports randomized and parallel execution of independent specs.Read 30 Sep 2026 · onsi.github.io
- Testing scope
- Ginkgo can be used for unit, integration, and performance specs.Read 29 Sep 2026 · github.com
- Version limitation
- Ginkgo V1 is no longer supported; the documentation identifies V2 as the current supported major version.Read 30 Sep 2026 · onsi.github.io
- Version policy
- Ginkgo follows semantic versioning in the 2.m.p line, with minor releases intended for new functionality and patch releases for bug fixes; fixes are not back-ported.Read 30 Sep 2026 · onsi.github.io
Plans and prices
Strong points and limits
Strong points
- Free and MIT-licensed.
- Supports parallel and randomized spec execution.
- CLI can filter and profile suites.
- Machine-readable reporting supports multiple formats.
- Works with Gomega and other Go testing libraries.
Limits
- Ginkgo V1 is no longer supported.
- Fixes are not back-ported.
Who it suits
Ginkgo suits Go developers who want a BDD-style structure for unit, integration, or performance testing. Its DSL may also be familiar to users of Quick, RSpec, Jasmine, or Busted.
Verdict
Ginkgo offers a structured Go testing workflow with parallel execution, suite tools, and customizable reporting. Users should plan around the supported V2 major version and its stated compatibility policy.
Where Specifiction places it
- BDD Testing Tools#7 of 308.2