[rspec-users] Separation of duties Cucumber and Rspec ... RE: Noob question

Colfer, Brian bcolfer at shopping.com
Wed Apr 29 17:47:35 EDT 2009

Cucumber is not built to do rapid BDD ... It is an integration and acceptance specification exercise system.   Rspec is for development  ... Mocks are an integral part of the BDD process.  The idea is to partition the system component behaviors so that you can focuss on the implementing the behavior that you are working on.  This minimizes the "Yak Shaving " http://en.wiktionary.org/wiki/yak_shaving 

You can focus on the task at hand ... For example if you are building a system that connects to a remote system to send a data feed ... And get a confirmation that the transmission was successful.  When you are developing you don't want to be stalled by the connectivity issues so you mock the external system's behavior in respect to your system.   Cucumber's flow is to expect that the step definitions connect to real systems and not mocks.

This is how I understand the relation the separation of duties.

Brian Colfer


-----Original Message-----
From: rspec-users-bounces at rubyforge.org [mailto:rspec-users-bounces at rubyforge.org] On Behalf Of Korny Sietsma
Sent: Wednesday, April 29, 2009 2:17 PM
To: rspec-users
Subject: Re: [rspec-users] Noob question

True, but cucumber is useful for lots of different kinds of projects.
I'm currently using it to build a java webapp, so I don't need much beyond cucumber, selenium, and selenium-client.

But agreed, if I was in rails-land (sigh) then I'd want webrat and rspec-rails.

- Korny
p.s. I'm aware webrat works without rails, but when I looked it didn't seem a big boost for our kind of app.

On Wed, Apr 29, 2009 at 10:42 PM, Chris Flipse <cflipse at gmail.com> wrote:
> On Wed, Apr 29, 2009 at 7:42 AM, Korny Sietsma <korny at sietsma.com> wrote:
>> Presumably you only need these if you are *building* cucumber?
>> If you just want to use cucumber, it should be as simple as "gem 
>> install cucumber", and it should get all the other dependencies.  On 
>> my machine it seemed to install treetop, polyglot, and presumably a 
>> few others - but I don't have rspec-rails nor webrat.
> rspec(-rails) and webrat aren't actually *required* by Cucumber -- you 
> can use it without them, which is why they're not force-installed.  
> However, nearly every example you're going to find of Cucumber run 
> against a rails app is going to be using webrat and rspec-rails ...
> --
> // anything worth taking seriously is worth making fun of // 
> http://blog.devcaffeine.com/
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users

Kornelis Sietsma  korny at my surname dot com "Every jumbled pile of person has a thinking part that wonders what the part that isn't thinking isn't thinking of"
rspec-users mailing list
rspec-users at rubyforge.org

More information about the rspec-users mailing list