2012-07-08 11 views
5

Próbuję przetestować moją aplikację railsową z rspec 2.10.0 + kapibara 1.1.2. Tu jest mój plik testowyszyny 3.2 kapibara Kapibara :: ElementNotFound: Nie można znaleźć 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 

A oto wynik testu

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

google na ten temat, ale znaleźć tylko informacje, które webrat może być problem, ale nie mam zainstalowany ten klejnot. Dzięki za wszelkie sugestie.

Odpowiedz

14

Zły typ testu. Wygląda to jak test kontrolera, który wykonuje testy metodami typu get i post i znajduje się w folderze spec/controllers. Żądania specyfikacji, które używają kapibara, znajdują się w specyfikacji/żądaniach. Uruchom $ rails generate scaffold SomeModel, aby zobaczyć, jak każdy powinien wyglądać.

Jeśli rozumieć wyżej, ale nadal chcesz używać kapibary dla testu kontrolera, modyfikować swój opisać blok:

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

Szukano wysokich i niskich dla tej odpowiedzi. Ostry! –

+5

W przypadku Capybara 2.0 nie powinno to być "type:: request", ale raczej 'type:: feature'. –

Powiązane problemy