2012-05-25 67 views

回答

11
rails g integration_test foo 

你很好走!

4

好像沒有通常的方式來實現這一點,但是我發現猴子補丁解決方案:

# config/initializers/generators.rb 
Rails.application.configure do 
    config.generators do |g| 
    # your setup here, like g.javascripts = false 
    end 

    def self.load_generators(*) 
    super 
    require 'rails/generators/rails/controller/controller_generator' 
    Rails::Generators::ControllerGenerator.class_eval do 
     remove_hook_for :test_framework 
     hook_for :test_framework, as: :request 
    end 
    end 
end 

下面是一些解釋:用於測試框架鉤設置右內ControllerGenerator,所以我們需要加載類以覆蓋該值。除了運行生成器之外,我不想加載這個類。 config.generators塊也爲控制檯和服務器運行,所以它不合適。還有self.generators區塊,但它在config.generators之前運行,發電機將不會配置。所以我找到了適合我的Engine#load_generators方法。

使用rails 5.0.1進行測試。