[rspec-users] [rails] undefined method `handling_predicate!'
dansteinicke at gmail.com
Thu Jan 21 17:38:01 EST 2010
On Jan 20, 7:07 pm, David Chelimsky <dchelim... at gmail.com> wrote:
> On Wed, Jan 20, 2010 at 12:00 PM, Dan Steinicke <dansteini... 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:
> > 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?
> rspec-users mailing list
> rspec-us... at rubyforge.orghttp://rubyforge.org/mailman/listinfo/rspec-users
That indeed was the problem. The gist from the original post shows
the test run with --backtrace and it does show rspec-rails in vendor/
plugins (I didn't see a version number tho). I did the following:
rm -fr vendor/plugin/rspec-rails
rm -fr vendor/plugin/rsecp
sudo gem install rspec rspec-rails
After which the spec no longer produces a NoMethodError and in fact
Thanks for taking the time to help me understand this, I was really
More information about the rspec-users