Steak: because Cucumber is for vegetarians
jeffkreeftmeijer.com
jeffkreeftmeijer.com
I suspect both things are just cleverly masked procrastination....
Then again, I am a vegetarian.
Include me out.
With rare exception do I want to spend time trying to get something to read like English; it won't.
And I get tired of guessing which idiomatic "natural" phrasing is to be used for such things in other people's libraries.
Funny you should compare it to XML + Java, because it makes me think, "So you need to write an API. You've decided to make it read like natural English. Now you have two problems."
The reality is that you are the only person working on your app, and this is all a waste of your time. Just write regular code -- it's more readable and more concise.
It's a fairly lightweight layer on top of Test::Unit that lets you define nested stories and scenarios, integrating with Webrat (soon Capybara when we get to it).
One differentiating feature of Stories is that you can print out a readable PDF doc with each story, and the specific scenarios that make it up, leaving off the Test::Unit implementation of the scenarios. Because really, clients don't want to read even cucumber's specs. The nasty secret of Cucumber is that it's still programming. You have to be very explicit in what you setup, and what you expect. Even if your explicitness is hidden behind english, it's still there, and many client's just don't think like that. Heck, that's why they hire programmers.
Is this supposed to be some sort of slight, or a put-down?
Is there something lesser about being a vegetarian?
I'm curious, being, you know, a vegetarian and all.
I'd like to see a repository of Cucumber tests for basic HTTP and DOM interaction, with implementations in multiple languages.
JBehave: text
RBehave (based on JBehave): code
RSpec Story Runner (based on RBehave): code, later also text
Cucumber (based on RSpec Story Runner): text
Steak (based on Cucumber): code
Maybe I'm going senile.
We found the translation between English -> Step Definitions -> Ruby to be too onerous, especially after our stakeholders showed no interest in helping write the scenarios...
class Spec::ExampleGroup
class << self
alias_method :context, :feature
alias_method :example, :scenario
end
end