I am assuming that the get and response lines are not commented
out in your actual test!

Does your code consist ONLY of the lines below?
I think you need to proceed the "it" line with a "describe" line.
for example:

  describe "my test" do
    it "...." do
      *put other code here*
    end
  end


On 02/06/2011 12:18 AM, Peter Ehrlich wrote:
Here I am, trying to learn TDD and BDD.  Getting start, most simple
case, and the world is falling apart:

My test code:

   it "should respond with success" do
       puts 'hi'
#      get :new
#      response.should be_success
     end


My stack trace:
$ rspec spec
"controller: nil"
F

Failures:

   1) VideosController new exposes request and response before and after
the action
      Failure/Error: Unable to find matching line from backtrace
      NoMethodError:
        undefined method `request' for nil:NilClass
      #
/Users/peter/.rvm/gems/ruby-1.9.2-p136/gems/activesupport-3.0.3/lib/active_support/whiny_nil.rb:48:in
`method_missing'
      #
/Users/peter/.rvm/gems/ruby-1.9.2-p136/gems/devise-1.1.5/lib/devise/test_helpers.rb:20:in
`initialize'
      #
/Users/peter/.rvm/gems/ruby-1.9.2-p136/gems/devise-1.1.5/lib/devise/test_helpers.rb:60:in
`new'
      #
/Users/peter/.rvm/gems/ruby-1.9.2-p136/gems/devise-1.1.5/lib/devise/test_helpers.rb:60:in
`warden'
      # /Users/peter/.rvm/gems/ruby-[/code]

You'll notice it says controller: nil.  I modified the devise helper, as
such:

class TestWarden<  Warden::Proxy #:nodoc:
       attr_reader :controller

       def initialize(controller)
         @controller = controller
         manager = Warden::Manager.new(nil) do |config|
           config.merge! Devise.warden_config
         end
         p "controller: #{controller.inspect}"
         super(controller.request.env, manager)
       end

Thanks for any help!
--Peter

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

Reply via email to