0

我有模型产品,我用<%= 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。诡异的...

4

0 回答 0