当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – 工厂女孩特质

来源:互联网 收集:自由互联 发布时间:2021-06-23
在尝试编写rSpec测试时,我对如何使用关联生成FactoryGirl记录感到困惑. 基本上,我有一个测验模型和一个问题模型.它们通过HABTM协会相关联. 这是我的测验工厂: FactoryGirl.define do factory :
在尝试编写rSpec测试时,我对如何使用关联生成FactoryGirl记录感到困惑.

基本上,我有一个测验模型和一个问题模型.它们通过HABTM协会相关联.

这是我的测验工厂:

FactoryGirl.define do
  factory :quiz do
    description 'Test'

    # after(:create) { |quiz| quiz.create_sample_questions }

    # trait :with_questions do
    #   after :create do |quiz|
    #     5.times do |q|
    #       quiz.questions << FactoryGirl.create(:question, :with_answers)
    #     end
    #   end
    # end
  end
end

是否最好在此处创建特征,然后为测验创建示例问题?或者我应该使用after create方法来做到这一点?

似乎都没有用,我的特质似乎没有产生问题.

谢谢!

我有兴趣看到这个问题的其他答案,但我可以将我的个人经验与使用工厂,关联以及使用回调自动加载一堆对象联系起来.

基本上,我发现我尝试使用特征和回调的“发烧友”,我对我的规格未来造成的麻烦越多.有了这种扭曲的逻辑,你最终会遇到工厂的混乱,你会抓挠你的脑袋,想知道到底发生了什么.

完全假设的问题:如果以后你需要一个有4个问题的测验怎么办?好吧,每个测验:with_questions都包含5个问题.然后你创建一个名为with_4_questions的特征吗?

网友评论