此描述是RSpec创建的默认值。我在使用TDD时遇到了困难。我发现它很复杂,并且无法理解整个过程。
例如,我需要通过访问索引方法来测试它,它返回一个用户列表。测试此功能的方法是什么?
describe "GET 'index'" do it "returns http success" do get 'index' expect(response).to be_success end end
答案 0 :(得分: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
简单地说,我们按方法“访问”进入索引页面,并希望看到一些信息。