2012-12-18 204 views
0

登錄的用戶可以訪問資源,並可以通過不同的方式訪問該資源。我想要有一個示例組,每個測試都有相同的期望。具有相同期望的示例組

我把一個page.should have_content("...")期望在after(:each)塊,但這不是一個很好的解決方案:如果我宣佈它掛起,它無論如何失敗。如果失敗,則錯誤(首先)顯示爲白色。

我應該如何編寫各自具有相同期望的示例組?

回答

0

這聽起來像你想共享的例子組:

describe 'foo' do 
    shared_examples "bar" do 
    it 'should ...' do 
    end 
    end 

    context "when viewing in the first way" do 
    before(:each) do 
     ... 
    end 

    it_behaves_like 'bar' 
    end 

    context "when viewing in the second way" do 
    before(:each) do 
     ... 
    end 

    it_behaves_like 'bar' 
    end 
end 

內設置的東西了,所以操作是正確的方法取出塊之前。這樣做的另一種方法是讓您的共享示例調用do_foo方法,並在每個上下文中提供不同的do_foo實現。

如果你想要共享的是安裝的東西,你也可以共享上下文。