|Developer(s)||Aslak Hellesøy, Joseph Wilk, Matt Wynne, Gregory Hnatiuk, Mike Sassak|
|Stable release||1.3.15 / May 9, 2014|
|Type||Behavior driven development framework / Test tool|
Cucumber is a software tool that computer programmers use for testing other software. It runs automated acceptance tests written in a behavior-driven development (BDD) style. Cucumber is written in the Ruby programming language. Cucumber projects are available for other platforms beyond Ruby. Some use Ruby Cucumber with a bridge into the target language (e.g. cuke4php and cuke4lua). Others use the Gherkin parser but implement everything else in the target language. Cucumber allows the execution of feature documentation written in business-facing text.
A feature definition, with a single scenario:
Feature: Division In order to avoid silly mistakes Cashiers must be able to calculate a fraction Scenario: Regular numbers * I have entered 3 into the calculator * I press divide * I have entered 2 into the calculator * I press equal * The result should be 1.5 on the screen
The execution of the test implicit in the feature definition above requires the definition, using the Ruby language, of a few "steps":
Before do @calc = Calculator.new end After do end Given /I have entered (\d+) into the calculator/ do |n| @calc.push n.to_i end When /I press (\w+)/ do |op| @result = @calc.send op end Then /the result should be (.*) on the screen/ do |result| @result.should == result.to_f end
- "Aslak Hellesøy". Aslakhellesoy.com. Retrieved 2012-01-24.
- "Joseph Wilk | on AI, The Web, Usability, Testing & Software process". Blog.josephwilk.net. Retrieved 2012-01-24.
- "Tea-Driven Development". Blog.mattwynne.net. Retrieved 2012-01-24.
- "ghnatiuk's Profile". GitHub. Retrieved 2012-01-24.
- "msassak's Profile". GitHub. Retrieved 2012-01-24.
- "The Pragmatic Bookshelf | The Cucumber Book". Pragprog.com. Retrieved 2012-01-24.
- "The Pragmatic Bookshelf | The RSpec Book". Pragprog.com. 2010-12-02. Retrieved 2012-01-24.
- Lawrence, Richard. "Cucumber". Retrieved 2012-04-16.
- aslakhellesoy (2012-01-15). "examples/i18n/en/features/division.feature at master from cucumber/cucumber". GitHub. Retrieved 2012-01-24.
- aslakhellesoy (2012-01-15). "examples/i18n/en/features/step_definitons/calculator_steps.rb at master from cucumber/cucumber". GitHub. Retrieved 2012-01-24.
- Cucumber project
- At the Forge - Cucumber, by Reuven M. Lerner in the Linux Journal
- Agile 2009 - Aslak Hellesoy - Cucumber test framework, podcast by Bob Payne with Aslak Hellesøy
- Cucumber: The Latest in Ruby Testing, by Mike Gunderloy
- Specflow, Cucumber in .NET
|This programming tool–related article is a stub. You can help Wikipedia by expanding it.|