Getting the Language Right with Cucumber Richard Lawrence, Agile For All
May 13, 2015
Getting the Language Right with Cucumber
Richard Lawrence, Agile For All
Varieties of Language in
Cucumber Scenarios
Tautological
Scenario: Search for a Book When I search for a book Then I should see the correct results
Scenario: Search for a book Given the following Authors: | id | name | | 1 | Charles Dickens | | 2 | John Steinbeck | | 3 | Fyodor Dostoyevsky | And the following Titles: | id | title | author_id | | 1 | A Tale of Two Cities | 1 | | 2 | Crime and Punishment | 3 | | 3 | East of Eden | 2 | And I'm on "http://www.bookstore.biz/" When I fill in "Dickens" in "//input[name()='q']" And I click "#searchButton" Then there should be 1 "div.book div.title" element And the page should contain "A Tale of Two Cities"
Super Technical
Scenario: Search for a book Given the following catalog: | Title | Author | | A Tale of Two Cities | Charles Dickens | | Crime and Punishment | Fyodor Dostoyevsky | | East of Eden | John Steinbeck | And I'm on the bookstore home page When I fill in "Dickens" in the search field And I click "Search" Then I should see only "A Tale of Two Cities" in the results
Scripty, with Implementation Details
Scenario: Search for a book Given the following catalog: | Title | Author | | A Tale of Two Cities | Charles Dickens | | Crime and Punishment | Fyodor Dostoyevsky | | East of Eden | John Steinbeck | When I search for "Dickens" Then I should see only "A Tale of Two Cities" in the results
Example in Domain Language
Example in Domain Languagewith Excess Detail
Scenario: Search for a book Given the following catalog: | Title | Author | Publisher | ISBN | | A Tale of Two Cities | Charles Dickens | Qualitas Classics | 1897093594 | | Crime and Punishment | Fyodor Dostoyevsky | Simon & Brown | 1936041030 | | East of Eden | John Steinbeck | Penguin | 0142000655 | When I search for "Dickens" Then I should see only the following in the results: | Title | Author | Format | Price | | A Tale of Two Cities | Charles Dickens | Paperback | $14.90 |
Different Kinds of ScenariosTa
utologica
lDomain
Languag
e Example
Domain La
nguage Exa
mple
w/ Exc
essive
Detai
l
Implementat
ion Languag
e
(Probab
ly Scri
pty)Super
Tech
nical
Sweet Spot
Identify different kinds
of scenarios
Exercise
Different Kinds of ScenariosTa
utologica
lDomain
Languag
e Example
Domain La
nguage Exa
mple
w/ Exc
essive
Detai
l
Implementat
ion Languag
e
(Probab
ly Scri
pty)Super
Tech
nical
Sweet Spot