[rspec-users] [rails] undefined method `handling_predicate!''

Dan Steinicke
Wed, 20 Jan 2010 18:00:51 -0000

I''m trying to use authlogic and factory_girl with rspec  and I am
getting an error I don''t understand.  Basically I have this failing
spec:

it "should succeed in creating a user from a factory" do
     testuser = Factory.create(:user)
     debugger
     testuser.should be_valid
end

When I stop in the debugger I see this:

(rdb:1) testuser.valid?
true
(rdb:1) testuser.should be_valid
NoMethodError Exception: undefined method `handling_predicate!'' for
#<Spec::Matchers::Be:0x25a9cac @args=[:be_valid]>

My (limited) understanding of rSpec is that if the "testuser.valid?"
works then "testuser.should be_valid" should work as well.
I''m
confused because its not working.

Can someone help me understand what is going on here?

I am using the following gem versions:
rspec (1.3.0)
rspec-rails (1.3.2)
authlogic (2.1.3)
factory_girl (1.2.3)
rails (2.3.5)

I have uninstalled/ reinstalled rspec, rspec-rails and rerun
script/generate rspec letting it overwrite everything.

Gist with full terminal output from running the spec and files:
http://gist.github.com/282045
spec/models/user_spec.rb
spec/spec_helper.rb
spec/factories/users.rb

thanks
Dan Steinicke