2012-05-25 68 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进行测试。