[rspec-users] Where to start after writing feature

Andrew Premdas apremdas at gmail.com
Sun Dec 7 02:49:07 EST 2008


+1 to Davids advice

But first I would analyse the feature I've written. Some of the things I'd
think about include

1) The use of the word task - its not very precise
2) The assumptions made in my story and whether I'm ready to make these yet

   a) That a task will have a name
   b) That only English users will be using this page
   c) That people will now what a CAS link is
   ...

3) The brittleness of what I've written - what will change and how will I
have to modify what I've done

So my initial scenario might be

When I create a new improvement
I should see a confirmation

and my second scenario might be

Given there are some improvements
I should be able to view improvements

Finally have a think about whether this feature is actually important enough
to be doing first.

HTH

2008/12/5 Stephen Veit <srveit at gmail.com>

> I am trying to develop code from the feature on down.
>
> So I created a brand new rails app. It has no models yet. I wrote a
> feature:
>
> Feature: Add tasks
>   In order to track website improvements
>   a user
>   wants to add tasks
>
>   Scenario: User adds task
>     Given task "Display Group Rules" does not exist
>     When I visit "/tasks/new"
>     And I fill in "Name" with "Display Group Rules"
>     And I fill in "Description" with "Displays links to edit each group
> rule"
>     And I fill in "CAS Link" with "GroupRulesManager/"
>     And I press "Submit"
>     Then I should end up on the Tasks page
>     And I should see "Task successfully added"
>     And the task "Display Group Rules" should exist
>
> I then run:
>
> rake db:migrate (this creates my development SQLite3 database)
> rake db:test:prepare (this creates my development SQLite3 database)
> rake features (outputs the following:)
>
> Feature: Add tasks  # features/manage_task.feature
>   In order to track website improvements
>   a user
>   wants to add tasks
>   Scenario: User adds task
>     Given task "Display Group Rules" does not exist
>     When I visit "/tasks/new"
>     And I fill in "Name" with "Display Group Rules"
>     And I fill in "Description" with "Displays links to edit each group
> rule"
>     And I fill in "CAS Link" with "GroupRulesManager/"
>     And I press "Submit"
>     Then I should end up on the Tasks page
>     And I should see "Task successfully added"
>     And the task "Display Group Rules" should exist
>
>
> 5 steps skipped
> 4 steps pending
>
> You can use these snippets to implement pending steps:
>
> Given /^task "Display Group Rules" does not exist$/ do
> end
>
> When /^I visit "\/tasks\/new"$/ do
> end
>
> Then /^I should end up on the Tasks page$/ do
> end
>
> Then /^the task "Display Group Rules" should exist$/ do
> end
>
>
> My question is where to go from here. Do I implement the four pending
> steps, e.g:
>
> Given /^task "(.+)" does not exist$/ do |name|
>   task = Task.find_by_name(name)
>   task.destroy if task
> end
>
> Or do I run:
>
>  ./script/generate scaffold_resource task name:string description:text
> cas_link:string
>
> and the rake rspec and fix whatever errors show up there?
>
> What are your thoughts? TIA
>
> --
> Stephen Veit
> 314-616-9688
>
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20081207/f1c2cf23/attachment-0001.html>


More information about the rspec-users mailing list