我正在使用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
但是,在生成模型时,我得到了这个: ( - specs实际上并不重要。无论如何它会生成相同的东西)
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。
答案 0 :(得分: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 => false
删除application.rb
,因为factory_girl_rails
会为您设置此内容。