2012-07-08 27 views
5

Rspec 2.10.0 + capybara 1.1.2 ile raylarımı test etmeyi deniyorum. İşteraylar 3.2 capybara Capybara :: ElementNotFound: xpath bulunamıyor "/ 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 

Ve burada test sonucu olan benim test dosyasıdır

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

Ben bu konuda google ama webrat ancak ben bu mücevher yüklü olmayan bir sorun olabilir sadece bilgi bulabilirsiniz. Önerileriniz için teşekkürler.

cevap

14

Yanlış tipte bir test. Bu, bir denetleyici sınaması gibi görünmektedir; bu, get ve post gibi yöntemlerle testler yapar ve spec/controllers klasöründedir. Capibara kullanılan özellikleri isteme, spec/isteklerindedir. Her birinin nasıl görünmesi gerektiğini görmek için $ rails generate scaffold SomeModel'u çalıştırın.

Yukarıdaki anlaşılan ama yine de, sizin denetleyici testi için Kapibara kullanmak olduğunu açıklayan blok değiştirmek istiyorsanız: Bu yanıt için yüksek ve düşük arandı

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

. Keskin olanı! –

+5

Capybara 2.0 ile, bu '' request' yerine 'type': 'type': '' özelliği olmalıdır. –