FactoryGirl条件属性

时间:2015-11-12 18:40:11

标签: ruby cucumber capybara factory-bot

我有一个名为type的工厂属性。现在它适用于一个字符串。我怎么能这样做,所以我使用相同的工厂,但使用另一个字符串type 'Quiz'。所以,我想测试type 'PhotoUploadCampaign'然后运行该工厂的PhotoUpload属性。如果type 'Quiz'然后运行该工厂的测验属性。

工厂广告系列文件

FactoryGirl.define do
  factory :campaign do    
    type 'PhotoUploadCampaign'
  end
end

广告系列步骤文件

Given(/^there's a photo upload campaign$/) do
  @campaign = create(:campaign)
end

1 个答案:

答案 0 :(得分:1)

对于工厂女孩,您可以在创建或构建工厂时指定属性。

您现在拥有的定义只是默认定义。

在你的规格中,你可以做到

@campaign = create(:campaign, type: 'Quiz')

这将采用与以前相同的逻辑,但使用Quiz代替PhotoUploadCampaign