quiero hacer algunas comprobaciones básicas para asegurar que un mapa del sitio XML está siendo producido correctamente, pero have_selector
no parece ser capaz de detectar etiquetas:¿Cómo se usa el método rspec have_selector para verificar 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
cada vez que ejecute la prueba me sale el siguiente error :
RSpec::Expectations::ExpectationNotMetError: expected css "url" to return something
el mapa se está produciendo y cuando puedo depurar la prueba RSpec y mirar el objeto response
puedo ver el contenido 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 ...
Mi mapa del sitio está producido por SitemapController y la vista se encuentra en views/sitemap/index.builder.xml
.
¿Por qué have_selector no está pateando?
. Esto es muy útil, gracias John. ¿Sabes qué enfoque debes tomar entonces en lugar de Capibara? No me di cuenta de que uno necesitaba un simulador de navegador en absoluto ya que todo lo que quiero hacer es analizar el documento - ty –