【发布时间】: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