我的Capybaras测试仅适用于默认语言环境,而不适用于指定的语言环境。
describe "How it works" do
it "should have the content 'how it works'" do
visit how_it_works_url(:locale => :en)
page.should have_content('How it works')
end
it "should have the content 'wie es geht'" do
visit how_it_works_url(:locale => :de)
page.should have_content('Wie es geht')
end
end
如果default_locale为'en',则第一个测试通过,如果是'de',则第二个测试通过。
路线都没有翻译(我使用gem'trail-translate-routes'),也没有内容。
答案 0 :(得分:2)
也许这会有所帮助:
使用capybara
时路径无法正常工作对于rspec,您可以将此代码段放在spec/support/locale.rb
中,例如:
# workaround, to set default locale for ALL spec
class ActionView::TestCase::TestController
def default_url_options(options={})
{ :locale => I18n.default_locale }
end
end
class ActionDispatch::Routing::RouteSet
def default_url_options(options={})
{ :locale => I18n.default_locale }
end
end
查看here了解更多详情。