1
Rails 4.2,rspec 3.4.0rails,rspec:當頁面上沒有Flash信息時,測試功能
當我用手創建'問題'時,flash通知就在這個位置。但是,當我用rspec去,閃存散列是空的,並且通知不存在。我試圖在測試環境中運行rails server以確保手動執行時的所有工作。它是。我最近的項目測試在相同的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 %>
您的規格將進入主頁;問題的創造真的會發生什麼,當你點擊「英語」? –
我的根是問題的索引。 '英語'鏈接將語言環境更改爲'en'。而且,當我以用戶身份進行操作時,所有這一切都很有效 –