Cucumber is a test framework that supports behavior-driven development (or BDD, in short). The core idea behind BDD is domain-specific language (known as DSL) where the tests are written in normal English, expressing how the application or system has to behave. DSL is an executable test that starts with a known state, performs some action, and verifies the expected state:
Given I launch the app
And I click on Register
Then I should see register with Facebook and Google
Dan North (creator of BDD) defined behavior-driven development in 2009 as --BDD is a second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters.
Cucumber feature files serve as a living documentation that...