1

私は minitest-rails (https://github.com/blowmage/minitest-rails) を使用していますが、非常にうまく機能します。ただし、1 つの問題は、ジェネレーターが機能していないことです。というか、代わりに常に「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

ファイルを手動で作成するだけの場合、ミニテストは魅力のように機能します。

ジェネレーターを適切に動作させるために他に必要なことはありますか?

現在、Rails 3.2.7 を使用しています。

4

1 に答える 1

1

factory_girl_railsgem がジェネレーターの構成を に強制する問題は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 に答える