Cucumber
Trying to do BDD with traditional testing frameworks proved to be a painful process. For a while developers persevered with inventive ways to express unit tests in a behavioral and descriptive way but, as interest grew, new tools were developed to facilitate this process.
Ideas based around BDD had been floating around for several years before the murmurings I mentioned above. As early as 2003, Dan North had been working on a framework called JBehave, which was ported to Ruby as RBehave. When Rspec emerged as the BDD tool of choice for Ruby in 2004–2005, this was extended in the form of the Rspec story runner, which was eventually rewritten by Aslak Hellesøy in 2008. This attempted to clean up some of the usability issues with the story runner, added in easier set up and configuration, and made meaningful use of colorized output. The result was Cucumber.
Cucumber has now had over 300 contributors. On GitHub, more than 350 projects mention Cucumber, use Cucumber, or are built to work with or extend its functionality. The Cucumber RubyGem is downloaded 1,500 times a day. I think it’s fair to say Cucumber is the most widely-used automated open source acceptance test tool.
Cucumber supports 9 programming languages, and allows specifications to be written in 40 spoken languages.
There are five components[14] or modules within the Cucumber project, three of which concern us directly in this book:
- Cucumber
The core of the project; the engine that runs tests and returns results.
- Aruba ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access