#html #ruby-on-rails #forms #testing
#HTML #ruby-на-рельсах #формы #тестирование #ruby-on-rails
Вопрос:
Я хочу убедиться, что поля пароля пусты при редактировании пользователя. Как мне сделать это в функциональном тестировании?
Я пробовал оба этих варианта:
assert_select "input[name=?][value=?]", 'user[password1]', ''
и
assert_tag :tag => "input", :attributes => {:name => "user[password1]", :value => ""}
Оба завершаются неудачей, потому что в сгенерированном html отсутствует value=
атрибут. Я не вижу никакого способа проверить, что атрибут не присутствует в сгенерированном html?
Ответ №1:
Попробуйте это:
assert_select 'input:not([value])[name="user[password1]"]', true
Комментарии:
1. Большое спасибо, это работает как шарм! Последний параметр
true
, похоже, не нужен.
Ответ №2:
в cucumber / webrat что-то вроде page.should_not have_xpath("//input[contains(@value, "")]")
работает
Комментарии:
1. Спасибо! Я рассматривал эти альтернативные платформы тестирования, но пока не решился на решающий шаг. Однако подобные вещи заставляют усилия казаться стоящими.