我有模型产品,我用<%= render @products %>
. 我有模板 _product.html.erb 包含<%= link_to product.name, product %>
. 当我在开发环境的浏览器中访问此页面时,它会显示我的产品。
现在我正在运行我的黄瓜,它看不到我的产品。
我使用 FactoryGirl 在“给定”中创建产品,如下所示:
Given(/^(\d+) products are created$/) do |n|
n.to_i.times do
create(:product)
end
end
Then I visit my page and in "then I check it like this"
Then(/^I should see paginated products$/) do
puts Product.all
puts page.body
products = Product.all
products[0..9].each do |product|
page.should have_selector "a", text: product.name
end
end
puts Product.all 打印有效产品,但 puts page.body 打印我的页面而不渲染产品。
这是我的 env.rb 文件:
require 'cucumber/rails'
World FactoryGirl::Syntax::Methods
ActionController::Base.allow_rescue = false
Cucumber::Rails::World.use_transactional_fixtures = true
Cucumber::Rails::Database.javascript_strategy = :truncation
为什么 capybara 不渲染我的模板?
谢谢
更新:
虽然puts Product.all
打印我的产品,但<%= @products.count %>
在我看来,测试显示为 0。诡异的...