Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 测试数据和种子数据应该如何分离?_Ruby On Rails_Tdd_Automated Tests - Fatal编程技术网

Ruby on rails 测试数据和种子数据应该如何分离?

Ruby on rails 测试数据和种子数据应该如何分离?,ruby-on-rails,tdd,automated-tests,Ruby On Rails,Tdd,Automated Tests,是由我自己编写系统、使用第三方解决方案,还是Rails提供了将测试数据与种子数据分离的方法 我知道seeds.rb,它就像一个普通的ruby文件。我希望将种子/装置数据存储在yaml或json之类的格式中,但也希望将测试数据随机生成或在与种子数据不同的地方生成(失败)。如果您想为数据库定义单独的种子文件,请看这个 我认为你真正想要的是或者是工厂,比如宝石 工厂和装置允许您定义独立于数据库状态并为测试而设计的示例模型数据 例如,如果您想要一个fixture来帮助您在用户模型上测试验证,那么可以使用

是由我自己编写系统、使用第三方解决方案,还是Rails提供了将测试数据与种子数据分离的方法


我知道seeds.rb,它就像一个普通的ruby文件。我希望将种子/装置数据存储在yaml或json之类的格式中,但也希望将测试数据随机生成或在与种子数据不同的地方生成(失败)。

如果您想为数据库定义单独的种子文件,请看这个

我认为你真正想要的是或者是工厂,比如宝石

工厂和装置允许您定义独立于数据库状态并为测试而设计的示例模型数据

例如,如果您想要一个fixture来帮助您在用户模型上测试验证,那么可以使用以下users.yml文件

bob:
  name: bob
  birthday: 1989-11-12
然后,在测试中,您可以使用夹具:

test "should validate with name" do
  bob = users(:bob)
  assert bob.valid?
end

答案太多了。FactoryGirl,支持装置,滚动您自己的,有环境种子数据…感谢链接。这不是一个完整的解决方案,但它确实是处理不同环境的超级简洁的方法。我也会玩固定装置。谢谢