There are screencasts on peepcode and also Pat Maddox has done one, but I think they may be a bit out of date, and more focussed on just the mechanics of getting up and running with the old story runner rather than the workflow once you get going.

Ben Mabey's blog[1] has some useful experiences to draw on.

In answer to your question though, if this isn't too vague, I think this really sums it up:
http://sirenian.livejournal.com/42871.html

Start with a plain-text feature, then implement the steps behind it one by one. As you implement each step you'll find you need the system to do something. Maybe your step says "Given there is a User". Do you have a User class yet? Then you'd better make one. Each time you change the system itself (as opposed to the steps), drive out that change by writing rspec examples that fail because you haven't written the code yet. This is crucial: resist the urge to touch the code until you have a failing spec. You can then use the usual TDD cycle to change the classes that make up the system, then finally surface back up to the feature, run it, and see what you need to do next.

The point of the cucumber features is not to exhaustively cover every single path in your code - that's the job of the specs (examples). The features give you a safety net to tell you that it all fits together.

Does that make any more sense or have I just regurgetated Aslak's words from the Cucumber readme?!

[1]http://www.benmabey.com/

On 25 Oct 2008, at 10:34, Tom Stuart wrote:

Hi,

Going to dive into Cucumber soon, and just reading through all the docs now.

Can anyone point to an example of writing Cucumber features first and then "when you get down to nitty gritty details, drop down one abstraction level and use RSpec to write some specs for your classes" (as per Cucumber wiki)? I'm trying to get a good feeling for the process of starting with a feature, dropping straight down to implementing code, and then somehow coming halfway back up and filling in the specs. Which levels of granularity are we talking about here? If you write a feature and then write enough code to make the feature pass, how do the specs still have traction to drive the design?

Cheers,
-Tom
_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users

_______________________________________________
rspec-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to