RSpec-Kwalify
RSpec-Kwalify is a custom RSpec matcher to help you use Kwalify, a yaml validation gem, in RSpec.
Instead of having tests like this:
it "should have 2 validation errors" do
errors = validator.validate(load_yaml("empty.yml"))
errors.size.should == 2
errors.each do |error|
error.is_a?(Kwalify::ValidationError).should be_true
end
end
You can use the more readable
it "should have 2 errors" do
validator.validate(asset("empty.yml")).should have_validation_error(2)
end
All you need to do is to add this to your Gemfile
group :development, :test do
gem "rspec-kwalify"
end
Examples
it "should have 2 errors" do
validator.validate(asset("empty.yml")).should have_error(2)
end
it "should have 'foo' key" do
validator.validate(asset("empty.yml")).should have_error(/key 'foo:' is required/)
end
it "should have validation error" do
validator.validate(asset("empty.yml")).should have_validation_error
end