您可以避免控制器测试,因为所有的逻辑都可以通过验收测试(使用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
简单地说,我们是通过方法进入索引页“参观”,并希望看到一些信息。
你的问题中的措词感到困惑。您在使用TDD时遇到困难 - 您发现它很复杂 - 您(不)了解整个程序?我想帮助编辑您的问题以使其更清楚,以便我或其他人可以更好地回答它。 – verdammelt