2

我的项目住在这里:https ://github.com/jonesdeini/ICanHazSandvich

我正在使用 minitest-rails add 进行设置我无法让生成器生成正确的测试模板。

来自我的 application.rb:

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

即使使用“g.test_framework nil”,我仍然会生成相同的测试模板:

输出:

rails g model Foo
    invoke  active_record
    create    db/migrate/20120827160129_create_foos.rb
    create    app/models/foo.rb
    invoke    test_unit
    create      test/unit/foo_test.rb
    invoke      factory_girl
    create        test/factories/foos.rb

即使使用“rails g model Foo --spec”,也会生成相同的文件。我正在使用 rails 3.2.8 和 ruby​​-1.9.3-p194

谢谢你的帮助!

宝石文件:

group :development, :test do
  gem 'factory_girl_rails'
  gem 'minitest-rails'
  gem 'minitest-rails-capybara'
 end

编辑:

已为此问题提交拉取请求 https://github.com/thoughtbot/factory_girl_rails/pull/68

4

2 回答 2

3

问题是factory_girl_rails宝石。该 railtie 假设为rspecor test_unit,并且其配置与您的配置冲突。这是我将如何解决这个问题:

将依赖项更改为文件中的factory_girlgem Gemfile

group :development, :test do
  gem 'factory_girl'
  gem 'minitest-rails'
  gem 'minitest-rails-capybara'
end

将您的应用配置为在config/application.rb文件中使用 FactoryGirl:

config.generators do |g|
  g.test_framework :mini_test, spec: true, fixture: false,
                               fixture_replacement: :factory_girl
end

嗯,这并不完全正确。我将如何真正解决它是完全删除 FactoryGirl,但这是对另一个问题的答案......

于 2012-08-27T21:17:12.613 回答
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

一切都应该很好!

于 2013-01-03T10:32:48.187 回答