Нужно ли мне входить в систему каждый раз, когда вы тестируете зарегистрированного пользователя с драгоценными камнями Cucumber & Devise? - PullRequest
0 голосов
/ 19 марта 2012

Я хочу написать сценарий, который выглядит примерно так:

Given I am logged in
And I am on my profile page
Then I see my name

Для "Учитывая, что я вошел в систему" - мне нужно написать что-то вроде:

  When I go to the log in page
  And I fill in "user_username" with "test" 
  And I fill in "user_password" with "invalid password"
  And I press "Sign in"

Вопрос в том, должен ли тест проходить сценарий входа в систему каждый раз, когда я проверяю функциональность вошедшего в систему пользователя?

РЕДАКТИРОВАТЬ: Обратите внимание, что я использую гем Devise.Я не уверен, как войти в систему пользователя напрямую, поскольку сеанс пользователя, куки и т. Д. Должны быть установлены

1 Ответ

1 голос
/ 20 марта 2012

Я бы написал определение шага для обработки входа в систему вместо сценария.

Это определение шага может затем поместить файлы cookie в банку с cookie для последующего использования.

Если вы храните cookie-файлы в хэш-карте, настроенной для тестовых пользователей, то этот метод может быть достаточно умен, чтобы войти в систему только при необходимости и повторно использовать сеанс, если он еще доступен.Это может сэкономить много времени в тестах за счет отсутствия полностью независимых тестов, поскольку теперь они связаны с данными сеанса на сервере.Сеанс всегда можно очистить, выйдя из системы перед повторным входом.

...