Это старый пост, однако я постараюсь ответить на него
have_error - это метод, предоставляемый webkit, например, для проверки. если запросы ajax или javascript в целом работают нормально
Я использую, чтобы проверить мои проверки в моих моделях:
describe 'validations' do
it { is_expected.to validate_presence_of :competitor_name }
it { is_expected.to validate_presence_of :chassi }
it { is_expected.to validate_presence_of :auction }
it { is_expected.to validate_presence_of :car_template_id }
end
или как
expect(FactoryGirl.create(:customer)).to be_valid
чтобы проверить действительность моей фабрики.
Если вам нужно проверить свои уведомления, указав неверные данные, вы можете проверить html своего уведомления с помощью capybara с помощью следующего:
it 'searches for specific order_car by chassi and model' do
visit order_cars_search_detailed_path
fill_in 'order_car_chassi', with: '123456'
select 'Octavia', from: 'order_car_car_template_car_template_id'
click_button 'Search Order'
expect(page).to have_content('THIS IS MY NOTICE')
expect(page).to have_content('123456')
end
Надеюсь, я смогу помочь некоторым другим разобраться с этим вопросом.