- Home
- BDD Testing Tools
- Ginkgo
Ginkgo
What it is
Ginkgo is a free, MIT-licensed testing framework for Go that helps developers write expressive specifications. Its BDD-style DSL organizes tests with nested Describe, Context, and When containers, along with setup, cleanup, and spec nodes. It can be used for unit, integration, and performance testing. Independent specs can run in parallel and in reproducibly randomized order. The bundled ginkgo command can generate, run, filter, and profile suites, and watch for changes to rerun specs. Reporting supports machine-readable output in multiple formats and can be customized. Ginkgo builds on Go's testing foundation and is designed to pair with the Gomega matcher library. Its GinkgoT() and GinkgoTB() interfaces also allow many Go testing libraries, including Testify and Gomock. Documentation lists completions for Sublime Text and VS Code, plus a VS Code extension for running specs. Ginkgo V2 is the current supported major version; V1 is no longer supported. Compatibility is guaranteed for Go versions currently supported under Go's release policy, N and N−1.
For and against
For
- Free and MIT-licensed
- Supports parallel and randomized spec execution
- CLI can watch changes and rerun specs
- Works with Gomega and many Go testing libraries
Against
- Ginkgo V1 is no longer supported
- Fixes are not back-ported
The verdict
Ginkgo offers a spec-oriented structure, parallel execution, and customizable reporting for Go testing. Use the supported V2 major version; V1 is no longer maintained.
Who it suits
Ginkgo suits Go developers who want to organize unit, integration, or performance tests as specs. Its DSL may be familiar to users of Quick, RSpec, Jasmine, or Busted.
Plans and prices
Ginkgo
Go testing framework · current supported major version is v2
Read 30 Sep 2026 · onsi.github.io
On the record
- BDD-style DSL
- Its DSL supports nested Describe, Context, and When containers, setup and cleanup nodes, and spec nodes.github.com · read 29 Sep 2026
- CI
- The CLI supports GitHub Actions friendly output, and the docs recommend a set of flags for continuous integration runs.onsi.github.io · read 30 Sep 2026
- CLI
- The Ginkgo CLI can bootstrap and generate test files, run suites, watch for changes, and build test binaries.onsi.github.io · read 30 Sep 2026
- 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.onsi.github.io · read 30 Sep 2026
- Execution
- Ginkgo supports reproducibly randomizing spec order and running specs in parallel.github.com · read 29 Sep 2026
- IDE support
- The documentation lists completions for Sublime Text and VS Code, plus a VS Code extension for running specs.onsi.github.io · read 30 Sep 2026
- Integration
- Ginkgo is built on Go's testing foundation and is complemented by the Gomega matcher library.github.com · read 29 Sep 2026
- Integrations
- Ginkgo exposes GinkgoT() and GinkgoTB() so many Go testing libraries, including Testify and Gomock, can be used with it.onsi.github.io · read 30 Sep 2026
- Intended users
- The documentation assumes users are familiar with Go and the Go toolchain.onsi.github.io · read 30 Sep 2026
- License
- The repository states that Ginkgo is MIT-Licensed.github.com · read 29 Sep 2026
- Matchers
- Ginkgo is designed to be paired with Gomega, which provides its matcher library.onsi.github.io · read 30 Sep 2026
- Purpose
- Ginkgo is a testing framework for Go for writing expressive tests, including unit, integration, acceptance, and performance tests.onsi.github.io · read 30 Sep 2026
- Reporting
- Ginkgo provides CLI support for generating and aggregating machine-readable reports, plus extensible reporting for custom formats.onsi.github.io · read 30 Sep 2026
- Support
- The project directs users with questions, bug reports, and feature requests to GitHub Issues or its Slack channel.github.com · read 29 Sep 2026
- Test execution
- Ginkgo supports randomized and parallel execution of independent specs.onsi.github.io · read 30 Sep 2026
- Testing scope
- Ginkgo can be used for unit, integration, and performance specs.github.com · read 29 Sep 2026
- Version limitation
- Ginkgo V1 is no longer supported; the documentation identifies V2 as the current supported major version.onsi.github.io · read 30 Sep 2026
- 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.onsi.github.io · read 30 Sep 2026