Сделайте новый файл.
Назовите это что-то вроде flash_message_steps.rb
или error_steps.rb
или что-нибудь еще, что вам нравится. Я бы предложил что-то общее, но называть его admin_steps.rb
или user_steps.rb
на самом деле не имеет смысла. Все файлы в папке step_definitions
автоматически загружаются. Просто не забудьте определить его один раз, только если повторяющиеся определения для одного и того же шага вызовут ошибку двусмысленности.
Я также рекомендовал бы сделать ваш шаг более общий характер, что-то вроде:
Then /^I should see an error message containing "([^\"]*)"$/ do |message|
page.should have_selector('#flash_alert', text: message)
end
Вы можете использовать такое же определение, чтобы проверить несколько ошибок:
Then I should see an error message containing "Invalid"
Then I should see an error message containing "You must sign in first"
Спасибо за хорошее объяснение. –