如何在Cucumber中测试产品详细信息的视图?

时间:2010-10-04 17:46:21

标签: ruby-on-rails cucumber

我有一个带有产品详细信息页面的应用程序。在该页面上,用户可以看到价格,描述,规格,所有非常标准的东西。但我想在Cucumber中测试这个视图。

现在我使用工厂生成产品标识符,并将其他所有内容留空。如果我向工厂添加默认值,那么检查功能中的相同默认值,然后我将这两个组件紧密耦合(坏)。

唯一可行的方法是在功能文件本身中提供我正在测试的所有值吗?

1 个答案:

答案 0 :(得分:0)

黄瓜表是处理这个问题的好方法,将它们绑定到工厂很简单。我假设你正在使用FactoryGirl,但这很重要。

Scenario: I want to see some product details
    Given the following product data
          | name | price | description   | 
          | Foo  | 1.99  | Yay, it's foo |
          | Bar  | 4.99  | Yay, it's bar |

然后在步骤定义中的某个地方,您需要将其与您的工厂联系起来。

Given /^the following product data$/ do |table|
  table.hashes.each do |hash|
    Factory.create(:product, hash)
  end
end

请注意,此处的“魔术”来自于命名功能中的表列与数据库列相同,后者将成为hash中的键。