我正在尝试添加一个rspec来测试我正在构建的xml文件。在实际的xml代码中,我有:
<g:shipping_weight>5 lb</g:shipping_weight>
我只想确保该值符合我的预期,但如果标签中包含特殊字符,则rspec无法匹配。来自我的规范的片段:
context 'verify weight' do
subject { response.body }
it { is_expected.to have_css('g:shipping_weight', text: '12.34 lb')}
end
have_selector
和have_tag
也与选择器不匹配,因此我依赖于使用match
,但我相信还有更好的方法吗?
答案 0 :(得分:0)
几个月前我遇到了这个问题,在找到解决方案之前花了几个小时谷歌搜索。假设您在此处使用Nokogiri进行解析,您应该能够访问此属性的文本,如下所示:
response.body.at_css("g|shipping_weight").text
没错,您使用管道|
代替冒号。我不认为我曾经找到过这方面的文档,现在我无法找到让我尝试这个的例子。但它有效!
(请注意,您必须在XML文档的开头定义g
命名空间。)