bdd-overview
bdd-overview
What BDD is and where it sits
Behaviour Driven Development is "a way for software teams to work that closes the gap between business people and technical people" ([cucumber.io/docs/bdd][bdd-what]). It runs as three repeating practices: Discovery (talk through concrete examples of the new functionality), Formulation (document those examples so they can be automated), and Automation (implement each example, starting with an automated test that guides the code) ([cucumber.io/docs/bdd][bdd-what]).
The formulation language is Gherkin: "a set of special keywords to give
structure and meaning to executable specifications"
([cucumber.io/docs/gherkin/reference][gherkin-ref]). A .feature file is plain
text. A step definition binds each Gherkin line to code in your language. A
runner parses the feature files, matches steps to definitions, and reports
results through your existing test framework (JUnit, pytest, NUnit, Mocha).