Rails 4.2,rspec 3.4.0
当我用手创建'问题'时,闪光通知就在那里。但是当我使用rspec时,flash hash是空的并且通知不存在。我试图在测试环境中运行rails服务器以确保在手动操作时所有工作。它是。我最近的项目测试与相同的gemset工作得很好。所以我发展这是rspec错误。现在我不知道该去哪里。
question_controller.rb
def create
@question = Question.new(question_params)
if @question.save
flash[:notice] = t('question.created')
redirect_to @question
else
flash[:alert] = t('question.not_created')
render 'new'
end
end
功能/ creating_questions_spec.rb
require 'rails_helper'
feature 'Creating Questions' do
before do
visit '/'
click_link 'English'
end
scenario "can create question" do
fill_in 'question_body', with: 'What is this?'
click_button t('question.create')
expect(page).to have_content(t 'question.created')
end
rspec输出
Failure/Error: expect(page).to have_content(t 'question.created')
expected to find text "Question has been created." in "Home Sign in Sign
up Русский English What is this?
布局
<% flash.each do |key, value| %>
<div class='flash' id='<%= key %>'>
<%= value %>
</div> <% end %>
<%= yield %>
答案 0 :(得分:0)
好的,经过长时间的研究,我找到了答案。
为了在我的项目中实施i18n,我使用了由Ryan Bates进行的138次转播。从那里我采取了这个功能:
<强> application_controller.rb 强>
def default_url_options(options={})
{:host => "localhost:3000",
:locale => I18n.locale}
end
字符串:host => "localhost:3000"
会导致麻烦。评论它和中提琴! - 一切正常再次