如何在工厂女孩中使用种子数据?

发布于 2024-11-14 21:58:32 字数 602 浏览 2 评论 0原文

我正在编写一个应用程序,让用户可以在线进行测试。该测试有 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)

有什么想法如何做到这一点?

谢谢!

I'm writing an app that let's users take a test online. The test has 2 sets of 18 questions which are randomized on the view. I'm trying to write tests to make sure that I get the correct 18 questions on each part. I'd like to create a factory that will hit the db and load in a random sequence of questions. Any idea how to do this? I can hard code the text but I actually want to test the seed data and DRY out my code by not repeating the questions in my seeds.rb and factory.rb.

Here's what I've done that is hard coded

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

Then, in my tests, I can write something like:

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

Any ideas how to do this?

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦旅人picnic 2024-11-21 21:58:32

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

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

如果你使用的是Rails 3.1,你可以使用以下行。

Rails.application.load_seed

我从以下位置得到了这个答案: 我可以通过某种方式从 Rails 应用程序执行 db/seeds.rb 文件吗?

How about if at the top of your spec/factories.rb you add the following line:

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

If you are using, Rails 3.1, you can use the following line instead.

Rails.application.load_seed

I got this answer from: Can I somehow execute my db/seeds.rb file from my rails app?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文