Огурец и очистка: current_user по шагам - PullRequest
5 голосов
/ 18 ноября 2010

Что мне нужно сделать, это использовать (полагаться) метод current_user при определении шагов огурца.Я использую Clearance в своем проекте.

Сначала я попытался использовать sign_in, но это не сработало (я думаю, что Cucumber World не знает о методах Clearance ...).

Так как мне заставить Цукса распознавать методы current_user и sign_in / sign_out?

Ответы [ 2 ]

6 голосов
/ 31 декабря 2010

Ваши функции Cucumber должны управлять вашим приложением через общедоступный пользовательский интерфейс. Что-то вроде:

Given /^I am signed in as "([^\"]*)"%/ do |username|
  visit 'sign_in'
  fill_in 'Username', :with => username
  click 'Sign In'
end

Поскольку метод current_user недоступен для браузера, вам не следует использовать его в своей спецификации.

Вы можете подделать его на своих шагах, сохранив @current_user на предыдущем шаге и затем предоставив для него средство чтения атрибутов.

1 голос
/ 06 декабря 2013

Я не согласен с идеей, что каждый приемочный тест (огурец или другое) должен использовать логику входа в систему.К счастью, если вы согласны, Clearance добавило заднюю дверь в тестах, позволяющих пропустить этапы входа.Пользователь, как пользователь, может пропустить это для функций, которые не имеют прямого отношения к входу в систему.

...