RSpec matcher for ensuring XML validates against a given XSD
Add this line to your application's Gemfile:
group :test do
gem 'rspec-xsd'
endAnd then execute:
$ bundle
Or install it yourself with:
$ gem install rspec-xsd
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
endYou 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
- 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