gpt4 book ai didi

ruby-on-rails - 如何使用 rspec have_selector 方法来验证 XML?

转载 作者:数据小太阳 更新时间:2023-10-29 01:51:09 26 4
gpt4 key购买 nike

我想做一些基本检查以确保正确生成 XML 站点地图,但 have_selector 似乎无法检测标签:

require 'spec_helper'

describe SitemapController do

render_views

before(:all) do
# code to generate factory data
# ...
end

# illustrating the problem
it "should be able detect nodes that are definitely present" do
get :index
response.should have_selector('url')
end
end

每次运行测试时,我都会收到以下错误:

RSpec::Expectations::ExpectationNotMetError: expected css "url" to return something

正在生成站点地图,当我调试 RSpec 测试并查看 response 对象时,我可以看到 xml 内容:

ruby-1.9.2-p180 :001 > response.body
=> "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n <url>\n <loc>http://test.host/panel ...

我的站点地图由 SitemapController 生成, View 位于 views/sitemap/index.builder.xml 中。

为什么 have_selector 没有启动?

最佳答案

capybara 不支持 XML 响应。它总是使用 Nokogiri::HTML 来解析内容,这在给定 XML 时会产生意想不到的结果。

添加 XML 支持有 been requested但被 Capybara 的维护者拒绝了。

关于ruby-on-rails - 如何使用 rspec have_selector 方法来验证 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8308924/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com