Cucumber Open vs Ginkgo
Cucumber Open
cucumber.ioGinkgo
onsi.github.ioSide by side
| Figure | Cucumber Open | Ginkgo |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| Windows | Yes | Yes |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Android | Yes | — |
| API | Yes | — |
| Plans published | 1 | 1 |
| Spec score · BDD Testing Tools | 8.2 (#6) | 8.2 (#7) |
| Founded | 2008 | 2013 |
| Purpose | Cucumber runs automated acceptance tests written in plain language that can be read by anyone on a team. | Ginkgo is a testing framework for Go for writing expressive tests, including unit, integration, acceptance, and performance tests. |
| Reporting | Cucumber has built-in report formatters including HTML, JSON, JUnit, and progress, and supports custom formatters. | Ginkgo provides CLI support for generating and aggregating machine-readable reports, plus extensible reporting for custom formats. |
| Support | The FAQ directs users with questions to the community and points to documentation, books, and Cucumber School for learning. | The project directs users with questions, bug reports, and feature requests to GitHub Issues or its Slack channel. |
Plans
In their own words
Cucumber Open
Cucumber Open runs automated acceptance tests from specifications written in plain language, helping teams check whether software behaves as described. It supports Behaviour-Driven Development by executing Gherkin specifications saved in `.feature` text files, typically alongside software in source control. Step definitions link the specification's steps to code that carries them out. Official implementations include JavaScript, Java, Ruby, Android Java, Kotlin, Scala, and C++, with semi-official and unofficial implementations also listed. Gherkin has variations for spoken languages, so teams can use keywords in their own language. Reporting options include built-in HTML, JSON, JUnit, and progress formatters, as well as custom formatters. Cucumber can run in continuous integration environments; its documentation describes JUnit output and a Jenkins reporting plugin. The project is free and open source, with local execution, parallel execution, browser testing, and API access. Published Cucumber Reports are public without authentication and deleted after 24 hours; the report service says data is stored in US data centers and encrypted at rest.
Ginkgo
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.