[rspec-users] Spec::Rails, "model.should have(1).error_on(:attribute)" passes when?
David Chelimsky
dchelimsky at gmail.com
Mon Mar 23 19:18:26 EDT 2009
On Mon, Mar 23, 2009 at 6:10 PM, Bjorn Boulder <bornboulder77 at gmail.com> wrote:
> Spec::Rails people,
>
> I'm curious about:
> - model.should have(1).error_on(:attribute)
>
> displayed in the URL below:
> http://rspec.rubyforge.org/rspec-rails/1.2.2/classes/Spec/Rails/Extensions/ActiveRecord/InstanceMethods.html
>
> The Rspec peepcode screencast suggests that
> model.should have(1).error_on(:attribute)
> should pass if
> model.send(:attribute)
> returns nil
>
> For me, I get an exception from the rspec script.
>
> My work-around is simple.
>
> Instead of:
> - model.should have(1).error_on(:attribute)
> I Use:
> -model.send(:attribute).should be_nil
>
> But now I have the question:
> - What kind of error causes:
> - model.should have(1).error_on(:attribute)
> - to pass ??
If you add this to your model:
validates_presence_of :attribute
Then this will pass
Model.new(:attribute => nil).should have(1).error_on(:attribute)
Cheers,
David
>
> --b
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users
>
More information about the rspec-users
mailing list