Cucumber (software)
Developer(s) | Aslak Hellesøy,[1] Joseph Wilk,[2] Matt Wynne,[3] Gregory Hnatiuk,[4] Mike Sassak[5] |
---|---|
Stable release | 1.3.15 / May 9, 2014 |
Written in | Ruby |
Operating system | Cross-platform |
Type | Behavior driven development framework / Test tool |
License | MIT License |
Website |
cukes |
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.[6][7] 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.[8] Cucumber allows the execution of feature documentation written in business-facing text.
Example
A feature definition, with a single scenario:[9]
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":[10]
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
See also
References
- ↑ "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.
External links
- 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