rspec: model.should be_valid
One of the things I always check when spec’ing is that the model that I just created is valid.
This uses RSpec’s predicate support (any call to be_something?
calls something?
on the target object), and returns a correct but very unhelpful error:
expected valid? to return true, got false
Here is a little rspec matcher that I threw together this morning to check if a model is valid and spit out the validation errors:
Now, I get:
MyModel expected to be valid but had errors:
Password confirmation can't be blank
Email has already been taken
This is nothing fancy, but it’s the small stuff that make life meaningful, so I thought I would share it. Throw the matcher code above into your spec_helper
and check if your models are valid.
update: added negative_failure_message
so “model.should_not be_valid
” will work