[rspec-users] Issues implementing Rspec with Rails3 from tutorial

Mohnish J. lists at ruby-forum.com
Thu Mar 10 08:47:07 EST 2011


Hi,


I am a newbie to Rails 3 and Rspec. Kindly excuse my being a novice.

I am trying to implement RSpec with Rails 3. I am using Rails 3.0.3 with
Ruby 1.9.2 on Ubuntu 10.04 os. I am using rspec 2.5 gem and rspec-rails
2.5 gem.

I am referring to the following tutorial:-

http://www.railsfire.com/article/rspec-behaviour-driven-development-testing-framework

This tutorial is implemented on Rails 2.x with an older version of rspec
and rspec-rails.

I tried to implement ***exactly the same tutorial*** with my
configuration, but I have run into some issues. I am unable to figure
out what I must have done wrong.

I am sure about one thing that I am not using the `rails_scaffold`
generator as used in this tutorial. Instead of using the
`rails_scaffold` generator, I made use of the following command `rails g
scaffold post title:string body:text`
 I don't seem to have it(rspec_scaffold) in my list of generators which
as part of Rails 3 and the additional ones that will come with Rspec.

The error I am getting is :-

    mohnish at mohnish-desktop:~/rails_testing/10Mar11/rspec_demo5$ rake
spec
    (in /home/mohnish/rails_testing/10Mar11/rspec_demo5)
    rake aborted!
    You have a nil object when you didn't expect it!
    You might have expected an instance of ActiveRecord::Base.
    The error occurred while evaluating nil.[]

    (See full trace by running task with --trace)
    mohnish at mohnish-desktop:~/rails_testing/10Mar11/rspec_demo5$ rake
spec --trace
    (in /home/mohnish/rails_testing/10Mar11/rspec_demo5)
    ** Invoke spec (first_time)
    ** Invoke db:test:prepare (first_time)
    ** Invoke db:abort_if_pending_migrations (first_time)
    ** Invoke environment (first_time)
    ** Execute environment
    ** Execute db:abort_if_pending_migrations
    ** Execute db:test:prepare
    ** Invoke db:test:load (first_time)
    ** Invoke db:test:purge (first_time)
    ** Invoke environment
    ** Execute db:test:purge
    rake aborted!
    You have a nil object when you didn't expect it!
    You might have expected an instance of ActiveRecord::Base.
    The error occurred while evaluating nil.[]
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/activerecord-3.0.3/lib/active_record/railties/databases.rake:429:in
`block (3 levels) in <top (required)>'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:636:in
`call'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:636:in
`block in execute'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:631:in
`each'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:631:in
`execute'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:597:in
`block in invoke_with_call_chain'
    /home/mohnish/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/monitor.rb:201:in
`mon_synchronize'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:590:in
`invoke_with_call_chain'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:607:in
`block in invoke_prerequisites'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:604:in
`each'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:604:in
`invoke_prerequisites'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:596:in
`block in invoke_with_call_chain'
    /home/mohnish/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/monitor.rb:201:in
`mon_synchronize'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:590:in
`invoke_with_call_chain'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:583:in
`invoke'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/activerecord-3.0.3/lib/active_record/railties/databases.rake:460:in
`block (3 levels) in <top (required)>'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:636:in
`call'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:636:in
`block in execute'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:631:in
`each'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:631:in
`execute'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:597:in
`block in invoke_with_call_chain'
    /home/mohnish/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/monitor.rb:201:in
`mon_synchronize'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:590:in
`invoke_with_call_chain'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:607:in
`block in invoke_prerequisites'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:604:in
`each'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:604:in
`invoke_prerequisites'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:596:in
`block in invoke_with_call_chain'
    /home/mohnish/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/1.9.1/monitor.rb:201:in
`mon_synchronize'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:590:in
`invoke_with_call_chain'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:583:in
`invoke'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:2051:in
`invoke_task'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:2029:in
`block (2 levels) in top_level'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:2029:in
`each'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:2029:in
`block in top_level'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:2068:in
`standard_exception_handling'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:2023:in
`top_level'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:2001:in
`block in run'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:2068:in
`standard_exception_handling'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/lib/rake.rb:1998:in
`run'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/gems/rake-0.8.7/bin/rake:31:in
`<top (required)>'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/bin/rake:19:in `load'
    /home/mohnish/.rvm/gems/ruby-1.9.2-p180/bin/rake:19:in `<main>'
    mohnish at mohnish-desktop:~/rails_testing/10Mar11/rspec_demo5$


Any suggestions on what I must be doing wrong and how to fix the same.
Kindly help.

Thank you very much.

-- 
Posted via http://www.ruby-forum.com/.


More information about the rspec-users mailing list