Getting started with Cucumber
Cucumber supports over a dozen different software platforms. Every Cucumber implementation provides the same overall functionality, but they also have their own installation procedure and platform-specific functionality.
Reference
The features that are common to all Cucumber implementations are documented in the reference manual. If you're looking for a reference implementation of "cucumber" using the latest "gherkin"-parser, have a look at microcuke. It's a tiny reference implementation in about 500 SLOC that can be ported to a new language in a day or two. Assuming there is a Gherkin3 port as well, which takes another 2-4 days to port.
Installation
Use the table below to find the Cucumber implementation that works for you.
Here you will find platform-specific installation instructions and documentation.
Cucumber implementations
![]() |
Ruby/JRuby |
![]() |
JRuby (using Cucumber-JVM) |
![]() |
Java |
![]() |
Groovy |
![]() |
JavaScript |
![]() |
JavaScript (using Cucumber-JVM and Rhino) |
![]() |
Clojure |
![]() |
Gosu |
![]() |
Lua |
![]() |
.NET (using SpecFlow) |
![]() |
PHP (using Behat) |
![]() |
Jython |
![]() |
C++ |
![]() |
Tcl |
Framework integration
![]() |
Ruby on Rails |
![]() |
Selenium |
![]() |
PicoContainer |
![]() |
Spring Framework |
![]() |
Watir |
![]() |
Serenity |


















