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
Top Related