[rspec-users] controller test :scaffold index undefined method "create"

enrico stano enricostn at gmail.com
Mon Nov 12 10:24:42 UTC 2012


hi.

the #create is related to Factory Girl.

Try to explicitly call FactoryGirl.create(:plan)

bye,

enricostn

On Monday, November 12, 2012, ishi soichi wrote:

>
> my environment:
>
> Rails 3.1.3
> rspec-rails (2.11.4)
> rspec 2.11.1
>
>
> I have generated a scaffold named Plan. And I have not done RSpec tests
> for controllers at all.
>
>
> schema.rb
>
>   create_table "plans", :force => true do |t|
>     t.integer  "give_take"
>     t.integer  "weight"
>     t.boolean  "check_in"
>     t.datetime "created_at"
>     t.datetime "updated_at"
>     t.integer  "flight_name_id"
>   end
>
> plans_controller.rb
>
>   def index
>     @plans = Plan.all
>
>     respond_to do |format|
>       format.html # index.html.erb
>       format.json { render json: @plans }
>     end
>   end
>
> spec/factories/plans.rb
>
> FactoryGirl.define do
>   factory :plan do
>     give_take 1
>     weight 1
>     check_in false
>     flight_name_id 11
>   end
> end
>
>
> plans_controller_spec.rb
>
>   describe "GET index" do
>     it "populates an array of plans" do
>       plan = create(:plan)               #######HERE!!!!!
>       get :index
>       assigns(:plans).should eq [plan]
>     end
>
>     it "renders the :index view" do
>       get :index
>       response.should render_template :index
>     end
>   end
>
>
> It raises a failure for index
>
>   2) PlansController GET index populates an array of plans
>      Failure/Error: plan = create(:plan)
>      NoMethodError:
>        undefined method `create' for
> #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x000001037a8e70>
>      # ./spec/controllers/plans_controller_spec.rb:45:in `block (3
> levels) in <top (required)>'
>
>
> Certainly I haven't defined method "create" anywhere except the one
> generated by scaffold, which is not shown here.
>
> How can I CREATE an instance here?
>
>

-- 
· Enrico Stano
·
· twitter @enricostano
· skype ocirneonats
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://rubyforge.org/pipermail/rspec-users/attachments/20121112/b825616d/attachment.html>


More information about the rspec-users mailing list