Ruby on rails 3 更快的测试-如何解耦Rails 4控制器? 为什么这很重要

Ruby on rails 3 更快的测试-如何解耦Rails 4控制器? 为什么这很重要,ruby-on-rails-3,ruby-on-rails-4,rspec-rails,actioncontroller,decoupling,Ruby On Rails 3,Ruby On Rails 4,Rspec Rails,Actioncontroller,Decoupling,测试与Rails框架隔离的Ruby方法==大大缩短测试时间 问题 如何正确解耦Rails 4控制器 事情现在在哪里 目前,这是我的rspec错误: NameError: undefined local variable or method `response' 这就是我在控制器规范测试文件中解耦和模拟ActionController的方法。这是我研究Rails 3的工作原理和解决实验中出现的错误消息的大杂烩。我不相信这是可行的,因为我不是没有设置ActionController需要的某些属

测试与Rails框架隔离的Ruby方法==大大缩短测试时间

问题 如何正确解耦Rails 4控制器

事情现在在哪里 目前,这是我的rspec错误:

NameError:
  undefined local variable or method `response'
这就是我在控制器规范测试文件中解耦和模拟ActionController的方法。这是我研究Rails 3的工作原理和解决实验中出现的错误消息的大杂烩。我不相信这是可行的,因为我不是没有设置ActionController需要的某些属性,就是无意中关闭了某些功能。Rails 4似乎给控制器增加了一些复杂性

APP_ROOT = File.expand_path(File.join(File.dirname__FILE__), "..", "..", ".."))
$: << File.join(APP_ROOT, "app/controllers")

module ActionController
  class Base
    class << self
      attr_reader :before_filters
      attr_reader :skipped_before_filters
    end

    def self.before_filter(*args)
      @before_filters ||= []
      @before_filters << args
    end

    def self.skip_before_filter(*args)
      @skipped_before_filters ||= []
      @skipped_before_filters << args
    end

    def self.allow_forgery_protection=(val); end
    def self.allow_forgery_protection; end

    def self.protect_from_forgery(*args); end   
    def self.after_filter(*args); end

    def request=(val); end
    def request; end
    def params=(val); end
    def redirect_to(*args); end
    def render_template(*args); end
    def _compute_redirect_to_location(*args); end

  end
end
我的控制器操作只渲染主视图,并按预期工作:

def home
end
多谢各位

关于Rails 3中解耦的链接: 可能重复的
def home
end