【问题标题】:How can I use seed data in factory girl?如何在工厂女孩中使用种子数据?
【发布时间】:2023-03-13 15:24:01
【问题描述】:

我正在编写一个应用程序,让用户可以在线进行测试。该测试有 2 组 18 个问题,这些问题在视图上是随机的。我正在尝试编写测试以确保我在每个部分都得到正确的 18 个问题。我想创建一个工厂来访问数据库并加载随机的问题序列。知道怎么做吗?我可以对文本进行硬编码,但我实际上想测试种子数据并通过不重复我的seeds.rb 和 factory.rb 中的问题来干燥我的代码。

这是我所做的硬编码

Factory.define :test do |test|
    test.association :user
end

Factory.define :question do |question|
    question.phrase "2+2"
    question.answer "4"
    question.association :test
end

然后,在我的测试中,我可以编写如下内容:

@test = Factory(:test, :user => @user)
@question = Factory(:question, :test => @test)

任何想法如何做到这一点?

谢谢!

【问题讨论】:

    标签: ruby-on-rails-3 rspec factory-bot


    【解决方案1】:

    如果在您的 spec/factories.rb 的顶部添加以下行怎么样:

    load(Rails.root.join("db", "seeds.rb"))
    

    如果您使用的是 Rails 3.1,则可以改用以下行。

    Rails.application.load_seed
    

    我的回答来自:Can I somehow execute my db/seeds.rb file from my rails app?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多