On 20 May 2009, at 16:43, Zhenning Guan wrote:

I have a controller name forums and a action like this:
 def show
    redirect_to forum_topics_path(:forum_id => params[:id])
 end

my scenario is (not completed)
==========
Scenario: User input data correct
 When I run to the forum 1

--
When /^I run to the (.*)$/ do |topic_lists|
 visit path_to(topic_lists)
end

def path_to(page_name)
   case page_name

   when /forum 1/
     forum_path(1)
==========

when I runned rake features
got a error..
++++++++++++++++
Scenario: User input data correct # features/forums.feature:10
   When I run to the topic lists   #
features/step_definitions/forums_steps.rb:10
     Couldn't find Forum with ID=1 (ActiveRecord::RecordNotFound)
     /home/ning/blank/app/controllers/topics_controller.rb:71:in
`load_forum'
     /usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
     (eval):2:in `/^I run to the (.*)$/'
     features/forums.feature:11:in `When I run to the topic lists'
++++++++++++++++++

so is that redirect_to problems? how to implement the scenario? any
thought here?

You are trying to visit the page for a 'forum' object (with ID=1) that does not exist in your database.

In each scenario, you need to imagine your application starts from a completely empty state, just like it would if you started the application with script/server.

You need a step in your scenario that says 'Given there is a Forum' which creates the record in the database.

If you don't mind me saying so, this question suggests to me that you have quite a bit to learn about Cucumber. While people on this list are pretty patient and helpful, they are also busy and will be more keen to help if you spend some time helping yourself too. I suggest you start with the recent railscast on Cucumber.

Matt Wynne
http://blog.mattwynne.net
http://www.songkick.com

_______________________________________________
rspec-users mailing list
rspec-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/rspec-users

Reply via email to