ruby – 如何使用RSpec测试XML文件?
发布时间:2020-12-16 19:40:04 所属栏目:百科 来源:网络整理
导读:我有一个RSS提要,我正在编写一个RSpec测试.我想测试 XML文档是否具有正确的节点和结构.不幸的是,我没有找到任何很好的例子,如何以干净的方式做到这一点.我只找到一些半实施的解决方案和过时的博文.如何使用RSpec测试XML文档的结构? 解决方法 嗨,我可以建议
|
我有一个RSS提要,我正在编写一个RSpec测试.我想测试
XML文档是否具有正确的节点和结构.不幸的是,我没有找到任何很好的例子,如何以干净的方式做到这一点.我只找到一些半实施的解决方案和过时的博文.如何使用RSpec测试XML文档的结构?
解决方法
嗨,我可以建议你使用自定义匹配器.
require 'nokogiri'
RSpec::Matchers.define :have_xml do |xpath,text|
match do |body|
doc = Nokogiri::XML::Document.parse(body)
nodes = doc.xpath(xpath)
nodes.empty?.should be_false
if text
nodes.each do |node|
node.content.should == text
end
end
true
end
failure_message_for_should do |body|
"expected to find xml tag #{xpath} in:n#{body}"
end
failure_message_for_should_not do |response|
"expected not to find xml tag #{xpath} in:n#{body}"
end
description do
"have xml tag #{xpath}"
end
end
完整的例子可以在这里找到 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
