現在、rspecとの統合テストを行っています。私は上の問題を抱えているテストはかなりsympleです:テスト環境でフラッシュが表示されない
問題は、開発中に、気づきフラッシュメッセージである
require 'rails_helper'
feature 'Accounts' do
scenario 'creating an account' do
visit root_path
click_link 'Get Started'
fill_in 'Name', with: 'Test'
click_button 'Create account'
save_and_open_page
success_message = 'Your account has been successfully created'
expect(page).to have_content(success_message)
end
end
sign_up_spec.rb
def create
@account = Account.new(account_params)
authorize @account
if @account.save
flash[:notice] = 'Your account has been successfully created'
redirect_to :root
else
render :new
end
accounts_controller.rb成功したアカウント作成はと表示されますが、テストスイートを起動すると、rspecからエラーが表示されます成功のメッセージを発見し、実際にsave_and_open_page
を使用した後、画面に何も表示されていない...
テストログ
Started POST "/accounts" for 127.0.0.1 at 2017-05-04 18:27:20 +0200
Processing by AccountsController#create as HTML
Parameters: {"utf8"=>"✓", "account"=>{"name"=>"Test"}, "commit"=>"Create account"}
[1m[36m (0.1ms)[0m [1mSAVEPOINT active_record_1[0m
[1m[35mSQL (0.3ms)[0m INSERT INTO "accounts" ("name", "created_at", "updated_at") VALUES ($1, $2, $3) RETURNING "id" [["name", "Test"], ["created_at", "2017-05-04 16:27:20.224700"], ["updated_at", "2017-05-04 16:27:20.224700"]]
[1m[36m (0.1ms)[0m [1mRELEASE SAVEPOINT active_record_1[0m
Redirected to http://localhost/
Completed 302 Found in 6ms (ActiveRecord: 0.7ms)
Started GET "/" for 127.0.0.1 at 2017-05-04 18:27:20 +0200
Processing by PagesController#home as HTML
Rendered pages/home.html.erb within layouts/home (5.0ms)
Rendered shared/_navbar_home.html.erb (1.1ms)
Rendered shared/_flashes.html.erb (0.1ms)
Rendered shared/_footer.html.erb (0.6ms)
Completed 200 OK in 10ms (Views: 9.4ms | ActiveRecord: 0.0ms)
失敗したテストのtest.log出力を質問に追加します。 –
私の質問をログで編集しました – Viro
ログはルートにリダイレクトされているので、アカウント作成はおそらく成功しています。実際にフラッシュが表示されています(ページにJSが表示されていますか? –