RSpec::XSD
Overview
RSpec matcher for ensuring XML validates against a given XSD
Installation
Add this line to your application's Gemfile:
group :test do
gem 'rspec-xsd'
end
And then execute:
$ bundle
Or install it yourself with:
$ gem install rspec-xsd
Usage
Require the gem in your spec_helper
require 'rspec/xsd'
Now include the matcher in your specs
RSpec.configure do |config|
config.include RSpec::XSD
end
You can validate either an XML string or a Nokogiri::XML::Document.
You can check that XML validates against a given schema by passing in a Nokogiri::XML::Schema object
expect(xml).to pass_validation(xsd)
or by passing in the path to your XSD
expect(xml).to pass_validation('/path/to/schema.xsd')
If you wish to give your XSD a more descriptive name you can pass this in as an optional argument
expect(xml).to pass_validation('/path/to/schema.xsd', 'My Complex XSD')
You can pass either a string or file as the XML document
Contributing
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request