Dav*_*ulc 5 rspec ruby-on-rails rspec2 rspec-rails ruby-on-rails-3
我是RSpec的新手,我无法找到如何测试以下内容:
在我的应用程序控制器(在Rails 3应用程序中)中,我将语言环境设置在之前的过滤器中,就像这样
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
Run Code Online (Sandbox Code Playgroud)
所以基本上,"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
Run Code Online (Sandbox Code Playgroud)
使用此处描述的匿名控制器:
https://www.relishapp.com/rspec/rspec-rails/v/2-4/docs/controller-specs/anonymous-controller
另请参阅这个问题:
| 归档时间: |
|
| 查看次数: |
3536 次 |
| 最近记录: |