with a twist • Focuses on “behaviour” rather than the “how” to build software • Feels more natural • Think about the feature and describe the behaviour
(Konstantin Kudryashov) • Uses Gherkin as BRDSL (Business Readable Domain Specific Language) • BRDSL is also used by cucumber • Is used to describe the behaviour of your application from the outside in
their behaviour • It is at unit level • For example, a parser. You would drive the design of a Parser class by describing what it should do. • Not the same as testing from the outside in
users to access the site’s admin As a system user We need to have a mechanism to authenticate the user Scenario: Login user Given there is an entry for user “john.doe@worldstores” When I sign in as “john.doe@worldstores” Then I should be signed in
The truth about BDD, Robert C. Martin - Link Cucumber - Link Gherkin - Link Behat on Github - Link PhpSpec - Link Dan North, “What’s In a Story?” - Link Behat Configuration options - Link “Classic” TDD vs “London school” TDD - Link