【发布时间】:2014-01-03 18:35:11
【问题描述】:
我正在关注 Michael Hartl 的教程,但遇到了以下我无法理解的代码。
describe "index" do
let(:user) { FactoryGirl.create(:user) }
before(:each) do
sign_in user
visit users_path
end
it { should have_title('All users') }
it { should have_content('All users') }
describe "pagination" do
before(:all) { 30.times { FactoryGirl.create(:user) } }
after(:all) { User.delete_all }
it { should have_selector('div.pagination') }
it "should list each user" do
User.paginate(page: 1).each do |user|
expect(page).to have_selector('li', text: user.name)
end
end
end
end
我的问题是: 这是一个嵌套测试,其中分页测试块在索引测试块内运行?换句话说,测试流程的顺序:
- before(:each) 外层登录用户和访问用户路径执行
- 然后执行 30.times { FactoryGirl.create(:user) 的内部块
- 然后它的内部块 { should have_selector('div.pagination') } 被执行
- 然后执行expect(page).to have_selector('li', text: user.name)的内部块
谢谢
【问题讨论】: