ruby-on-rails-3.2 - Rails 生成器未生成正确的测试模板

标签 ruby-on-rails-3.2 generator minitest specifications

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

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

来 self 的 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

感谢您的帮助!

gem 文件:

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

最佳答案

问题出在 factory_girl_rails gem 上。该railtie 采用 rspectest_unit,并且其配置与您的配置冲突。以下是我解决此问题的方法:

将依赖项更改为 Gemfile 文件中的 factory_girl gem:

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,但这是另一个问题的答案......

关于ruby-on-rails-3.2 - Rails 生成器未生成正确的测试模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12148611/

相关文章:

css - 我可以在不运行 rake assets :precompile? 的情况下查看我的 Sass 文件的任何更新结果吗

ruby-on-rails - 如何安装和使用 Ruby on Rails 金属生成器?

python生成器对象混淆

javascript - 简单的生成器似乎坏了

ruby-on-rails - 您如何使用 Minitest 进行嵌套测试?

ruby-on-rails - 升级到 rails 5.2.0 后无法指定测试目录

javascript - 在 Twitter Bootstrap 的 Rails 3.2 中将 "popovers"样式化为 “bootstrap-popover.js”

ruby-on-rails - Rails - 'can' t 在自定义验证期间使用默认过程转储哈希

ruby-on-rails-3 - resque 不再启动 "Can' t 分配请求的地址 - connect(2)”

ruby - 如何使用 minitest 测试实例级 Sequel::Model 验证