views:

89

answers:

1

Just to be up front, although the title appears to be similar to the thread http://stackoverflow.com/questions/393622/rspec-vs-cucumber-rspec-stories, however my question is fundamentally different.

I understand the difference between testing user stories and testing behavior of objects individually. My question is, why is Cucumber usually coupled with RSpec for writing user stories when RSpec has had user story functionality since 1.1? Is it because RSpec's focus remains strong on individual object testing and Cucumber has since been heavily developed with emphasis on user stories?

Context switching is a pain and we developers deal with enough tools. I'd prefer to stick to just RSpec, but if there is some important distinctions that Cucumber has from RSpec, please do let me know.

+3  A: 

The difference is rather simple: Cucumber is the RSpec Story Runner. Or rather, Cucumber is the RSpec Story Runner done right.

So, Cucumber is maintained, the RSpec Story Runner is not. The RSpec Story Runner is obsolete and deprecated, Cucumber isn't. Cucumber is still being developed, the RSpec Story Runner isn't. The impending release of RSpec does no longer contain (nor support) the Story Runner.

The fact that RBehave (Cucumber's pre-cursor) was merged into RSpec was purely a historical accident and should never have been done in the first place. That's why pretty soon after the merge, the maintainer of the RSpec Story Runner declared it dead and wrote Cucumber.

Jörg W Mittag