使用RSpec进行测试:根据第一个子域设置语言环境

|| 我是RSpec的新手,我不知道如何测试以下各项: 在我的应用程序控制器(在Rails 3应用程序中)中,将语言环境设置为before过滤器,如下所示
def set_locale
  I18n.locale = [\"en\", Setting.locale, get_locale_from_subdomain].compact.last
end

def get_locale_from_subdomain
  locale = request.subdomain.split(\'.\').first
  return nil unless LOCALES.include? locale
  locale
end
因此,基本上,\'en.example.com \'和\'example.com \'的语言环境为\“ en \”,而\'fr.example.com \'的语言环境为\“ fr \” 。 我该如何测试?
已邀请:
我会做这样的事情:
I18n.available_locales.each do |locale|
  request.host = \"#{locale}.example.com\"
  get :index
  I18n.locale.should == locale
end
使用此处描述的匿名控制器: https://www.relishapp.com/rspec/rspec-rails/v/2-4/docs/controller-specs/anonymous-controller 另请参阅以下问题: Rails RSpec设置子域

要回复问题请先登录注册