1

我正在使用 minitest-rails (https://github.com/blowmage/minitest-rails),它工作得很好。但一个问题是发电机不工作。或者更确切地说,它似乎总是调用“test_unit”!

这就是我的“test/minitest_helper.rb”的样子: https ://gist.github.com/3496814 (请注意,我在那里覆盖了测试单元)

在“config/application.rb”我有这个:

# require "rails/test_unit/railtie" ## Test Unit is not required!

还有这个:

## application.rb
config.generators do |g|
  g.test_framework :mini_test, :spec => true, :fixture => false
end


## Gemfile
group :test, :development do
  gem 'minitest-rails', git: "git://github.com/blowmage/minitest-rails.git"
  gem 'minitest-rails-capybara'
  gem 'factory_girl_rails'
  gem 'turn'
end

尽管如此,例如在生成模型时,我还是得到了这个:(--spec 实际上并不重要。它无论如何都会生成相同的东西)

rails g model Horse --spec
  invoke  active_record
  create    db/migrate/20120828095404_create_horses.rb
  create    app/models/horse.rb
  invoke    test_unit                   ### Invoking test_unit??!
  create      test/unit/horse_test.rb
  invoke      factory_girl
  create        test/factories/horses.rb

如果我只是手动创建文件 minitest 就像一个魅力。

为了使发电机正常工作,我还需要做些什么吗?

目前使用 Rails 3.2.7。

4

1 回答 1

1

factory_girl_rails维护者已经修复了gem 强制生成器配置的问题Test::Unit,但是这还没有过滤到rubygems.org.

如果您更新 Gemfile 以包含:

group :development, :test do
  gem 'factory_girl_rails', :git => "git://github.com/thoughtbot/factory_girl_rails.git"
end

一切都应该很好!

PS:您也可以在执行此操作时删除:fixture => falsefrom ,为您设置。application.rbfactory_girl_rails

于 2013-01-03T10:36:26.777 回答