Clients writing Cucumber stories? (Ruby)(jeffkreeftmeijer.com)
jeffkreeftmeijer.com
Clients writing Cucumber stories? (Ruby)
http://jeffkreeftmeijer.com/2010/clients-writing-cucumber-stories/
3 comments
Steak does sound good. It's a lot harder to look at than cucumber, but it is self-contained and simple.
http://github.com/cavalle/steak
Talking about steak makes me hungry.
http://github.com/cavalle/steak
Talking about steak makes me hungry.
For a ruby programmer, I dare say that ruby code is easier to look at than English pseudo-code...
I dev in Ruby also, but the features, stories, and scenarios in Cucumber can read fairly well, even if the step definitions make it tougher than it would appear to be.
Agreed that Steak is simpler overall. Cucumber could have used the time spent supporting LOLZ on something more useful:
Agreed that Steak is simpler overall. Cucumber could have used the time spent supporting LOLZ on something more useful:
OH HAI: STUFFING
MISHUN: CUCUMBR
I CAN HAZ IN TEH BEGINNIN 3 CUCUMBRZ
WEN I EAT 2 CUCUMBRZ
DEN I HAZ 2 CUCUMBERZ IN MAH BELLY
AN IN TEH END 1 CUCUMBRZ KTHXBAI
step implementations: ICANHAZ /^IN TEH BEGINNIN (d+) CUCUMBRZ$/ do |n|
@basket = Basket.new(n.to_i)
end
WEN /^I EAT (d+) CUCUMBRZ$/ do |n|
@belly = Belly.new
@belly.eat(@basket.take(n.to_i))
end
DEN /^I HAZ (d+) CUCUMBERZ IN MAH BELLY$/ do |n|
@belly.cukes.should == n.to_i
end
DEN /^IN TEH END (d+) CUCUMBRZ KTHXBAI$/ do |n|
@basket.cukes.should == n.to_i
end
(from http://www.engineyard.com/blog/2009/cucumber-introduction/ )Another great article Jeff.
In my experience, Cucumber features are less useful as user stories than regular user stories and harder to maintain as acceptance tests than regular acceptance tests. Some people may see value in turning user stories into acceptance tests and keep them in sync during all the lifetime of a project. But 80% of value is just in turning every user story into an acceptance test. Jeff's workflow does exactly that, but without the additional effort that maintaining Cucumber features involves.