0

虽然我通常更喜欢 Factory Girl,但我需要使用现有的设备来测试我正在开发的应用程序。

问题是我需要使用依赖于测试的夹具集,即我有多个用于同一模型的集合,需要根据我正在运行的测试加载。

在过去的 rails 0.x 有几个插件可以做到这一点。我如何使用 Rails 3+ 完成相同的任务?

提前致谢

4

2 回答 2

0

您可以创建一些脚本文件来调用您的工厂来创建记录。然后在测试中需要脚本。

于 2012-05-08T19:27:02.310 回答
0

你说你是工厂女孩的粉丝,所以我不必向你推销它有多棒。

为什么不把这些装置改造成工厂呢?在 Rails 中将 Fixtures 转换为 Factory Girl应该会有所帮助。

一旦您将数据作为 Factory Girl 中的工厂,我建议您利用其继承功能,如https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md所示:

您可以通过嵌套工厂轻松地为同一个类创建多个工厂,而无需重复公共属性:

工厂:后做
  标题“一个标题”

  工厂 :approved_post 做
    批准 真的
  结尾
结尾

批准后 = FactoryGirl.create(:approved_post)
approved_post.title # => "一个标题"
已批准_post.approved # => true

您还可以显式分配父级:

工厂:后做
  标题“一个标题”
结尾

工厂:approved_post,父::post do
  批准 真的
结尾
于 2012-07-17T03:49:58.093 回答