Rails:来自多个文件的同一模型的夹具

时间:2018-08-03 14:51:14

标签: ruby-on-rails database testing activerecord fixtures

我正在尝试使用测试夹具填充开发数据库。

我正在使用不同目录中的多个Fixture文件填充模型的数据。但是,看来我的灯具负载不是累加的。也就是说,我的表每次都会从头开始重新初始化。

这是我的代码循环:

Dir[Rails.root.join('db', 'seeds', 'dev', '**/*.yml')].each do |file|
  puts "Loading #{file}"
  ActiveRecord::FixtureSet.create_fixtures(File.dirname(file), File.basename(file, '.yml'))
end

例如,我的模型Article有许多可以写入的夹具文件。即news.ymltech.ymlrecipies.yml ...等。

我拥有的那些灯具文件中的每一个:

_fixture:
  model_class: Article

...rest of fixtures...

文件开头。

我执行任务时,仅保留了最后Article个灯具数据。

如何使用所有Article固定装置来初始化模型? (news.ymltech.ymlrecipies.yml的全部)

1 个答案:

答案 0 :(得分:0)

您可以尝试直接从官方灯具文件中采购灯具:

<%= IO.read(Rails.root.join "test/other_fixtures/fixture_to_load.yml") %>

在这种情况下,诸如articles.yml之类的文件可能只是带有IO.read语句的外壳文件而分解为多个文件。

Source

相关问题