2014-04-14 412 views
0

所以我想最好的辦法是去測試什麼,一個網頁使用水豚最佳實踐

describe "Pages" do 
    subject { page } 
    describe "Home page" do 
    it "should have the title 'My Home Page'" do 
     visit root_path 
     expect(page).to have_title('My Home Page')  
    end 
    end 
end 

現在看起來像標準的方式來測試這是實際訪問比較頁面的標題(如上)。儘管這看起來不是很健壯,就好像頁面標題改變一樣,它會打破任何引用它的測試。

這是標準做法嗎?還是有另一種方法來測試它。

謝謝, 馬特

回答

2

我不認爲你給的例子是測試一個網頁被訪問的標準方式。這是標準的方式,看看頁面的標題是否符合你的期望= P

如果你想對水豚的路徑作出斷言,更可靠的方法是使用current_path。所以,你可以重寫你的例子如下:

describe "Pages" do 
    describe "Home page" do 
    it "will visit root_path" do 
     visit root_path 
     expect(current_path).to eql root_path 
    end 
    end 
end 

請注意,這並不是一個有價值的測試。我們都知道水豚得到了很好的測試,如果我們告訴它它會訪問root_path。無論如何,如果你想進行理智檢查或者其他事情,這是正確的選擇。

我希望它有幫助!