给定以下简单规范:
require 'spec_helper'
feature 'Feeds', %q{
In order see the latest content of Buurtlink
As a user
I should be able to view a neighborhood or postal_code
} do
background do
@neighborhood = FactoryGirl.create(:neighborhood_with_posts)
end
scenario 'Visitor views a neighborhood' do
visit neighborhood_path(@neighborhood)
find('#header_title').should have_content 'Diemen-Zuid'
10.times do |index|
expect(page).to have_text "Title of new post #{index}"
end
end
end
此测试随机失败。页面上没有使用 JS,但 Capybara 似乎在 FactoryGirl 完成创建所有必要的帖子之前访问了neighbor_path。使用 save_and_open_page 查看页面时,我可以看到有时尚未创建所有帖子。
只需在 visit neighbor_path 上方添加 sleep 1 即可解决问题,但这不是解决方案。
我正在使用 RSpec、Capybara、Spork 和 DatabaseCleaner。我还对 ActiveRecord 进行了猴子修补,以便它使用共享连接。