2015-12-15 3 views
1

Я бегу через Hartl Rails Tutorial и выполнил упражнения в 9.60, 9.61, 9.62, которые требуют рефакторинга нового и редактирования кода формы с новым частичным. Формы теперь используют «обеспечить», чтобы поставить кнопку текст в:Тест интеграции Rails для выбора наличия правильного текста кнопки

<% provide(:button_text, 'Create my account') %> 

Который оказывается на странице с «выходом», как в:

<%= f.submit yield(:button_text), class: "btn btn-primary" %> 

Хотя не части упражнения, я не пытайтесь написать интеграционный тест, который будет проверять правильный текст на кнопке для каждой страницы. Например, этот код будет проверять форму регистрации страницы:

test "signup page" do 
    get signup_path 
    assert_select "title", full_title("Sign up") 
    assert_select "input[type=submit]", value: "Create my account" 
end 

Однако я не был в состоянии выяснить, правильный код для выбора кнопки и указав правильное значение для текста кнопки. Я неправильно сделал текст кнопки, чтобы попытаться выполнить тест, но не нашел правильного синтаксиса теста, который преуспевает при сбое ;-)

Documentation для ActionDispatch не было конкретного примера, который был бы полезен для этого теста дело.

ответ

1

Хорошо, нашёл свой собственный ответ. Правильное для выбора кнопки и проверки текста:

test "signup page" do 
    get signup_path 
    assert_select "title", full_title("Sign up") 
    assert_select "input[value=?]", "Create my account" 
end 

То, что я узнал, что 1. атрибут элемента должен быть заключен в квадратных скобках. 2. Используйте 'attribute =?' чтобы соответствовать этому значению атрибута для значения, которое вы тестируете: в этом случае «Создайте мою учетную запись»

 Смежные вопросы

  • Нет связанных вопросов^_^