我想要做一些基本檢查,以確保一個XML站點地圖被正確的生產,但have_selector
似乎並不能夠檢測標籤:如何使用rspec have_selector方法驗證XML?
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生成,視圖位於views/sitemap/index.builder.xml
。
爲什麼沒有選擇器踢?
這對John很有幫助。你知道應該採取什麼方法,而不是水豚嗎?我沒有意識到需要一個瀏覽器模擬器,因爲我只想解析文檔 - ty –