2012-03-05 85 views
2

我的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'rails-translate-routes')也沒有內容。

回答

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