[rspec-users] 2 almost identical tests need different assertions to work and I can't figure out why

Justin Ko jko170 at gmail.com
Mon Jun 18 14:45:09 UTC 2012


On Jun 16, 2012, at 3:38 PM, Tyrel R. wrote:

> Hey everyone, I am learning bdd and do deffently like it on the whole. I
> ran into a strange situation I got around it but it left a question in
> my mind and I would appreciate help in removing it ;)
> 
> So hear is what happened
> 
> test for one model:
> 
> it "Should protect id from mass assignment" do
>    attributes = @user.attributes
>    attributes['id'] = 42
>    lambda do
>      User.create(attributes).id.should_not equal 42
>    end.should raise_error ActiveModel::MassAssignmentSecurity::Error
> end
> 
> passes
> 
> test for another model
> 
> it "Should not allow ID to be mass assigned" do
>      attributes = @dispensary.attributes
>      attributes['id'] = 42
>      disp = Dispensary.create( attributes )
>      disp.id.should_not equal 42
> end
> 
> also passes
> 
> if I write a similar test for the first one instead of checking the
> exception like
> [code]
> it "Should not allow ID to be mass assigned" do
>      attributes = @dispensary.attributes
>      attributes['id'] = 42
>      disp = Dispensary.create( attributes )
>      disp.id.should_not equal 42
>  end
> 
> Rspec stops because an error was raised. I am confused what variable am
> I missing thank you
> 
> -- 
> Posted via http://www.ruby-forum.com/.
> _______________________________________________
> rspec-users mailing list
> rspec-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rspec-users

What is the error message?....


More information about the rspec-users mailing list