Cucumber (software)
Cucumber is a software tool that supports behavior-driven development (BDD).[7][8][9][10][11][12] Central to the Cucumber BDD approach is its ordinary language parser called Gherkin. It allows expected software behaviors to be specified in a logical language that customers can understand. As such, Cucumber allows the execution of feature documentation written in business-facing text.[13][7][8] It is often used for testing other software.[14] It runs automated acceptance tests written in a behavior-driven development (BDD) style.[15] Cucumber was originally written in the Ruby programming language[7][16][8] and was originally used exclusively for Ruby testing as a complement to the RSpec BDD framework. Cucumber now supports a variety of different programming languages through various implementations, including Java[17][8] and JavaScript.[18][19] There is a port of Cucumber to .NET called SpecFlow,[20][21][22] now superseded by Reqnroll.[23] Gherkin languageGherkin is the language that Cucumber uses to define test cases. It is designed to be non-technical and human readable, and collectively describes use cases relating to a software system.[7][8][24][25] The purpose behind Gherkin's syntax is to promote behavior-driven development practices across an entire development team, including business analysts and managers. It seeks to enforce firm, unambiguous requirements starting in the initial phases of requirements definition by business management and in other stages of the development lifecycle. In addition to providing a script for automated testing, Gherkin's natural language syntax is designed to provide simple documentation of the code under test.[25] Gherkin currently supports keywords in dozens of languages.[25][26][7][8] SyntaxSyntax is centered around a line-oriented design, similar to that of Python. The structure of a file is defined using whitespace and other control characters.[25] Lines starting with All Gherkin files have the Here is an example of the syntax:[28] Feature: Guess the word
# The first example has two steps
Scenario: Maker starts a game
When the Maker starts a game
Then the Maker waits for a Breaker to join
# The second example has three steps
Scenario: Breaker joins a game
Given the Maker has started a game with the word "silky"
When the Breaker joins the Maker's game
Then the Breaker must guess a word with 5 characters
Command lineCucumber comes with a built-in command line interface that covers a comprehensive list of instructions. Like most command line tools, cucumber provides the $ cucumber --help
-r, --require LIBRARY|DIR Require files before executing the features.
--i18n LANG List keywords for in a particular language.
Run with "--i18n help" to see all languages.
-f, --format FORMAT How to format features (Default: pretty).
-o, --out [FILE|DIR] Write output to a file/directory instead of
...
Cucumber command line can be used to quickly run defined tests. It also supports running a subset of scenarios by filtering tags. $ cucumber --tags @tag-name
The above command helps in executing only those scenarios that have the specified $ cucumber --name logout
The above command will run only those scenarios that contain the word 'logout'. It is also useful to be able to know what went wrong when a test fails. Cucumber makes it easy to catch bugs in the code with the References
External links |
Portal di Ensiklopedia Dunia