不起作用:
feature "home: don't list inactive flash sales" do
let(:inactive_flash_sale) { create(:inactive_flash_sale, active: false) }
scenario "does not list inactive flash sales" do
visit spree.root_path
expect(page).to_not have_content(inactive_flash_sale.name)
end
end
作品:
feature "home: don't list inactive flash sales" do
scenario "does not list inactive flash sales" do
inactive_flash_sale = create(:inactive_flash_sale, active: false)
visit spree.root_path
expect(page).to_not have_content(inactive_flash_sale.name)
end
end
以上不会以第一种形式通过,但会以第二种形式通过。这是因为Factorygirl部分在第一个版本访问之后才被初始化,但在第二个版本之前它被初始化。这不允许我使用 let 虽然这是当今使用 RSpec 的惯用方式。我做错了什么还是应该是这样?