Ruby on rails 如何从rails测试中排除全局过滤器?

Ruby on rails 如何从rails测试中排除全局过滤器?,ruby-on-rails,filter,Ruby On Rails,Filter,我正在开发一个API,它在ApplicationController中有一个“before\u filter:authorize\u request” “authorize_request”方法将使用签名和HMAC验证执行一些请求头验证。然而,我希望避免在每次“开发或测试”请求之前调用此方法,因为这意味着我将不得不模拟每一件事和/或经历让测试工作起来的麻烦 目前,我正在破解这个问题,我可能会说: if Rails.env.production? before_filter :authoriz

我正在开发一个API,它在ApplicationController中有一个“before\u filter:authorize\u request”

“authorize_request”方法将使用签名和HMAC验证执行一些请求头验证。然而,我希望避免在每次“开发或测试”请求之前调用此方法,因为这意味着我将不得不模拟每一件事和/或经历让测试工作起来的麻烦

目前,我正在破解这个问题,我可能会说:

if Rails.env.production?
  before_filter :authorize_request
end

但这感觉像是一个彻头彻尾的黑客。有更好的方法吗?

您也可以从过滤器中提前返回

def authorize_request
  return true if Rails.env.test?

  # carry on

end

before\u filter:authorize\u请求,除非Rails.env.production?
是我这样做的。