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
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.
negative_failure_message so “
model.should_not be_valid” will work