【问题标题】:Getting factory_girl to work in Rails3让 factory_girl 在 Rails3 中工作
【发布时间】:2010-12-23 21:08:10
【问题描述】:

为了我的一生,我无法让factory_girl 在 Rails3 中工作。我创建了一个全新的应用程序。我的宝石文件:

gem "rspec"
gem "rspec-rails"
gem "factory_girl_rails"

application.rb 中的生成器是这样的:

  config.generators do |g|
      g.test_framework :rspec, :fixture => true, :views => false, :fixture_replacement => :factory_girl
  end

然后,使用生成器创建一个新模型:

> rails g model Addon name:string

  invoke  active_record
  create    db/migrate/20101223205918_create_addons.rb
  create    app/models/addon.rb
  invoke    rspec
  create      spec/models/addon_spec.rb
   error      factory_girl [not found]

我错过了什么?当然,我确实运行了bundle install...我试着环顾四周,但在 factory_girl 和 rails3 上找不到任何像样的文档。

【问题讨论】:

    标签: rspec ruby-on-rails-3 factory-bot


    【解决方案1】:

    你需要的是https://github.com/indirect/rails3-generators

    Rails 3 兼容的生成器,用于尚未拥有它们的 gem...

    Factory Girl 生成器已移至the factory_girl_rails gem...

    【讨论】:

    • Rails 3.2 不需要...现在有点过时了
    【解决方案2】:

    这是目前 Rails 3.2 中的正确方法:

    Rails.application.config.generators do |g|
      g.test_framework :rspec, fixture: true
      g.fixture_replacement :factory_girl, dir: 'spec/factories'
    end
    

    【讨论】:

    • 刚刚用 test/unit 试过了,但是没有用。这是 RSpec-only 语法吗?我用过:g.test_framework :test_unit, fixture: trueg.fixture_replacement :factory_girl
    【解决方案3】:

    某些用户可能正在使用factory_girl。确保您使用的是factory_girl_rails

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多