오류 메시지가 올바르게 렌더링되는지 확인하기 위해 뷰를 테스트하려고합니다. 내 config.default_locale
은 'fr'
입니다. 그래서, 내 프랑스어 로케일 파일에서 적절한 Active Record 오류 메시지를 찾을 내보기를 기대하고 있습니다.RSpec에서 로케일을 설정하는 방법보기 예제
describe 'book/new.html.erb' do
let(:subject) { rendered }
before do
@book = Book.create #this generates errors on my model
render
end
it { should match 'some error message in French' }
end
이 테스트는 격리되거나 다른 사양 /보기와 함께 실행될 때 통과합니다. 그러나 전체 테스트 스위트를 실행하면 뷰는 메시지로 렌더링됩니다. translation missing: en.activerecord.errors.models.book.attributes.title.blank
.
en
로케일로 렌더링하는 이유를 알 수 없습니다.
before do
allow(I18n).to receive(:locale).and_return(:fr)
allow(I18n).to receive(:default_locale).and_return(:fr)
end
및
before do
default_url_options[:locale] = 'fr'
end
누구 아이디어가 있습니까 : 나는 함께 로케일을 강제로 시도?
그것은 도움이 될 것입니다 사용중인 RSpec 및 Rails의 버전을 확인하십시오. – monfresh