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

David Chelimsky dchelimsky at gmail.com
Wed Jan 20 22:07:35 EST 2010


On Wed, Jan 20, 2010 at 12:00 PM, Dan Steinicke <dansteinicke at gmail.com> wrote:
> 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

Hey Dan,

If you're seeing that error it means you have an older version of
rspec-rails than 1.3.2 that is being loaded. Try running the spec with
--backtrace so you can see a full backtrace. Do you see any other
versions being loaded? Maybe from vendor/plugins?


More information about the rspec-users mailing list