Factory_Girl不产生唯一的记录(Factory_Girl not generating u

2019-10-18 08:29发布

我在我的转化应用程序使用工厂而不是灯具采用Factory_Girl_Rails。 我已经定义了以下工厂:

factory :requirement do
  sequence(:reqTitle) {|t| "Test Requirement #{t}"}
  ignore do
    categoryName " "
    categoryAbbr " "
 end

  reqText "This is a test general requirement for the purpose of, um, testing things"
  status "Approved"
  factory :reqWithCat do
    category
  end
  factory :reqWithNamedCat do
    category {create(:category, catName: categoryName, catAbbr: categoryAbbr)}
  end
  factory :reqFromUserRequirement do
    user_requirement
  end
end

然后,在设置部分,我运行下面的代码片段:

(0..5).each do |x|
      requirement = create(:reqWithCat)
      requirement.ind_requirements {|ir| [create(:ind_requirements)]}
end
(0..5).each do |x|
    create(:reqWithNamedCat, categoryName: "User Interface", categoryAbbr: "UI")
end

但是,我的测试是失败的,这显然是因为没有被创建的记录(例如,要求控制器上的指标测试告诉我,有个记录返回时应该有10)。 我在调试模式下的测试,发现创建的每个需求都有值完全相同的ID。 此外,每个记录有相同的序列值。

我相信重复的记录没有保存,这就是为什么我得到一个0的回报。 不过,我看不出我所设置不正确。 我缺少的是在这里吗?

Answer 1:

一旦我固定用户工厂正确地创建相关的很多,然后我发现,我已经根据我定义在我的模型范围的方式不正确地写这个工厂。 一旦被固定,“破”开始测试工作。



文章来源: Factory_Girl not generating unique records