I have Rspec + Shoulda + FactoryGirl and I am receiving the following
error when attempting to call Shoulda’s have_many or belong_to
methods. All Shoulda methods used in the “validations” group work
fine:
> NoMethodError in 'A Project
> associations should When you call a
> matcher in an example without a
> String, like this:
>
> specify { object.should matcher }
>
> or this:
>
> it { should matcher }
>
> RSpec expects the matcher to have a
> #description method. You should either add a String to the
example this
> matcher is being used in, or give it a
> description method. Then you won’t
> have to suffer this lengthy warning
> again. ’ undefined method
> reflect_on_association' for > #<Project:0x34d8624> /vendor/plugins/active_matchers/lib/ matchers/association_matcher.rb:37:in >
confirm_association’
> /vendor/plugins/active_matchers/lib/matchers/
association_matcher.rb:36:in
> each' > /vendor/plugins/active_matchers/lib/matchers/ association_matcher.rb:36:in >
confirm_association’
> /vendor/plugins/active_matchers/lib/matchers/
association_matcher.rb:11:in
> `matches?’
> ./spec/models/project_spec.rb:7:
Thanks in advance
spec/spec_helper.rb
require 'shoulda'
spec/models/project_spec.rb
require File.dirname(__FILE__) + '/../spec_helper'
describe "A Project" do
describe "associations" do
subject { Factory(:project) }
it { should have_many(:tasks) }
it { should belong_to(:project_status) }
end
describe "validations" do
subject { Factory(:project) }
it { should validate_presence_of(:name) }
it { should validate_uniqueness_of(:name).case_insensitive }
it { should allow_mass_assignment_of(:name) }
end
end