0

如何使用 FactoryGirl 设置虚拟数据?

有没有办法在我的集成开发环境中使用工厂设置虚拟数据?

4

1 回答 1

3

我写了一个种子脚本来解决我的问题:

在 /db/seed.rb 我实现了 factory_girl 并使用 csv 文件来定义自定义数据。

种子.rb:

require 'factory_girl'
require 'csv'

CSV.foreach(Rails.root.join("datas.csv"), headers: true) do |row|
  post = FactoryGirl.create(:post) do |post|
    post.text = row[0]
  end
end

如果要将模型与测试数据关联,可以使用 FactoryGirl 创建关联对象:

CSV.foreach(Rails.root.join("post_comments.csv"), headers: true) do |row|
  Post.all.each do |post|
    FactoryGirl.create(:comment, post: post) do |comment|
      comment.name = row[0]
    end
  end
end

您还可以使用第一个 CSV 脚本并实现一个为每个帖子创建评论的工厂。

FactoryGirl.create(:post_with_comments)

现在,您可以使用 FactoryGirl 创建 x 记录,用于使用 csv 测试数据。

于 2012-02-01T14:18:44.387 回答