Интеграционный тест Rails5 assert_equal с флеш-сообщениями - PullRequest
0 голосов
/ 23 июня 2018

В Rails 5,2 очень простой системный тест:

require 'test_helper'

class AdminSignsInTest < ActionDispatch::SystemTestCase
  driven_by :selenium, using: :firefox

  test 'admin can sign in' do
    @user = users(:admin)
    visit new_user_session_path
    fill_in 'user_username', with: @user.username
    fill_in 'user_password', with: @user.encrypted_password
    click_button I18n.t("devise.login")
    assert_equal I18n.t('devise.failure.invalid'), flash[:alert] 
  end
end

возвращает ошибку:

NoMethodError: undefined method `flash' for nil:NilClass

Согласно документации Rails http://guides.rubyonrails.org/testing.html#testing-flash-notices этот синтаксис должен работать, например:

assert_equal 'Article was successfully created.', flash[:notice]

1 Ответ

0 голосов
/ 24 июня 2018

Проверка в объекте @response или response должна иметь предупреждающее сообщение. Вы можете попробовать это.

...