Skip to content
SPECIFICTION
Get listed

Behat vs Ginkgo

Behat

behat.org

Ginkgo

onsi.github.io

Side by side

FigureBehatGinkgo
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Windows—Yes
macOS—Yes
LinuxYesYes
Plans published11
Spec score · BDD Testing Tools7.7 (#10)8.2 (#7)
PurposeBehat is an open source behavior-driven development tool for writing executable software specifications in plain language.Ginkgo is a testing framework for Go for writing expressive tests, including unit, integration, acceptance, and performance tests.
Testing scopeFeature files can describe whole application behavior and can be tested using browser automation, HTTP API calls, shell commands, databases, filesystems, or PHP code.Ginkgo can be used for unit, integration, and performance specs.

Plans

Behat

  • BehatFree

Behat pricing →

Ginkgo

  • GinkgoFree

Ginkgo pricing →

In their own words

Behat

Behat is free, open-source software for writing executable specifications in plain language on Linux. It is the PHP implementation of Cucumber and runs Gherkin feature files. Those files can describe complete application behavior and be exercised through browser automation, HTTP API calls, shell commands, databases, filesystems, or PHP code. Behat is intended to work with any PHP framework or without one. Installation uses Composer or a PHAR executable, both running with PHP. An extension system can expand or replace nearly any part of the tool, with extensions covering framework integrations, browser automation, test reporting, and data fixtures. Behat does not provide its own assertion tool, so an external assertion library is needed. It supports current PHP and third-party dependency versions; Symfony 8 support begins with Behat 4.0. Each major version receives security fixes for 24 months after the next major release.

Visit behat.org

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.

Visit onsi.github.io