2014-01-14 33 views
0

此描述是RSpec創建的默認值。我很難與TDD合作。我覺得它很複雜,並且無法理解整個過程。如何在Rspec中創建測試以獲取用戶列表

例如,我需要通過訪問index方法來測試它,它會返回一個用戶列表。測試這個功能的方法是什麼?

 
describe "GET 'index'" do 
    it "returns http success" do 
    get 'index' 
    expect(response).to be_success 
    end 
end 
+0

你的問題中的措詞感到困惑。您在使用TDD時遇到困難 - 您發現它很複雜 - 您(不)瞭解整個程序?我想幫助編輯您的問題以使其更清楚,以便我或其他人可以更好地回答它。 – verdammelt

回答

0

您可以避免控制器測試,因爲所有的邏輯都可以通過驗收測試(使用rspec + Capybara)進行測試。我建議購買一本PDF書籍,這對於rspec學習來說是最好的選擇。 https://leanpub.com/everydayrailsrspec

在這裏,我給你舉個例子你的問題:

feature 'Visitor' do 

    background do 
    2.times |n| { User.new(username: "User #{n}") } #create 2 users to test list 
    end 

    scenario 'tries to view list of users on users index page' do 
    visit users_path #try to enter to users index page 
    expect(current_path).to eq users_path #check current path 
    expect(page).to have_content 'User 1' #check for User 1 from 'background' 
    expect(page).to have_content 'User 2' #check for User 2 from 'background' 
    end 

end 

簡單地說,我們是通過方法進入索引頁「參觀」,並希望看到一些信息。