Тестирование Rails без указания точной формулировки - PullRequest
1 голос
/ 18 января 2012

Я новичок в концепции тестирования, и есть одна вещь, которая действительно отталкивает меня. В настоящее время я использую rspec и capybara для тестирования запросов. Когда я хочу указать действие пользователя, например нажатие кнопки или заполнение поля формы, я должен предоставить точную формулировку для поля.

Например, когда у меня была кнопка Reset и я написал click_button 'reset' в моем тесте, это не удалось. Точно так же у меня было поле для свойства password_confirmation. Однако я не могу сказать, чтобы заполнить поле password_confirmation, так как его идентификатор и имя были расширены (user_password_confirmation и user[password_confirmation] соответственно). Самый простой обходной путь - использовать метку и написать fill_in 'confirm password'.

Теперь, очевидно, когда я захочу перефразировать метку или даже изменить регистр букв, эти тесты не пройдут. Есть ли возможность проводить тесты, которые не будут такими строгими в формулировках?

1 Ответ

2 голосов
/ 19 января 2012

Да, вам нужно использовать I18n (даже если ваше приложение только на одном языке).Затем, независимо от того, какой языковой стандарт установлен по умолчанию или как вы будете изменять это значение в будущем, вы получите тесты, не зависящие от меток.

Вы просто передадите ключ и получите реальный ярлык.

...