On 19.9.2008, at 10.58, Matt Wynne wrote:
On 19 Sep 2008, at 02:00, DyingToLearn wrote:
Hi,
I am still trying to learn how to effectively use BDD. I would like
to
know if there is a typical BDD workflow or if it is really just a
question of personal preference.
So far I see the following steps being fairly common:
1. talk with user to establish a few stories and features
2. write plaintext stories or cucumber features (with the user?)
3. write specs for whatever step needs to be wnitten
4. code until specs pass
5. write story/feature steps
6. repeat steps 3-5 until the story/feature passes
7. show the user to confirm that it works the way the user want (and
go back to step 2 if it doesn't)
8. go back to step 1 for new stories/features
This seems to be pretty much the workflow that's evolving for us,
though I tend to write the step implementations before I start
coding the views, controller, models. (i.e. 5 before 3)/
Ditto, and also, don't write all the specs at a time. My plan for 3-5
is something like this:
3. Write the first step of the feature in question
4. Write the view spec to satisfy the step code
5. Write the view functionality to make 4 pass
6. Write the controller spec to satisfy the needs of 4
7. Write the code to make 6 pass
8. Write the model spec to satisfy the needs of 6
9. Write the code to make 8 pass
At this point the step should pass, so go back to 3 and repeat with
the next step.
Note that I left out the refactoring part of the TDD cycle here. It
generally happens between every layer after the specs pass.
//jarkko
--
Jarkko Laine
http://jlaine.net
http://dotherightthing.com
http://www.railsecommerce.com
http://odesign.fi
_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users