2012-07-08 10 views
5

Estoy tratando de probar mi aplicación de rieles con rspec 2.10.0 + capybara 1.1.2. Aquí está mi archivo de pruebarails 3.2 capybara Capybara :: ElementNotFound: no se puede encontrar xpath "/ html"

require 'spec_helper' 

    describe AdminPanelController do 
     describe "index" do 
     it "should have return code 200" do 
      visit '/admin' 
      page.should have_content "hello" 
      #response.status.should be(200) 
     end 
     end 
    end 

Y aquí son resultado de la prueba

Failure/Error: page.should have_content "hello" 
Capybara::ElementNotFound: 
    Unable to find xpath "/html" 

I Google sobre este tema, pero sólo encuentro información que webrat puede ser un problema, sin embargo, no tengo instalado esta joya. Gracias por cualquier sugerencia.

Respuesta

14

Tipo incorrecto de prueba. Esto se parece a una prueba de controlador, que hace pruebas con métodos como get y post y está en la carpeta spec/controllers. Las especificaciones de solicitud, que usan capibaras, residen en especificaciones/solicitudes. Ejecute $ rails generate scaffold SomeModel para ver cómo deberían verse.

Si usted entiende lo anterior, pero todavía desea utilizar capibara para su prueba del controlador, modificar su bloque describir:

describe AdminPanelController, :type => :request do 
    ... 
end 
+0

Buscado alta y baja para esta respuesta. Sharp! –

+5

Con Capybara 2.0, esto no debería ser 'type:: request', sino' type:: feature'. –

Cuestiones relacionadas