скорость огурца, настройка производительности - PullRequest
1 голос
/ 24 февраля 2011

Я профилировал свои файлы функций. Я обнаружил, что мой вход в систему занимает больше всего времени.

Given /^I am logged in as "(.+)"$/ do |login|
  visit path_to('the home page')
  fill_in "login", :with => login
  fill_in "password", :with => 'foobar'
  click_button "loginButton"
end

На моем блоке разработки это займет более 5 секунд.

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

Given /^I am logged in as "(.+)" through session$/ do |login|
  user= User.find_by_login(login)
end

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

1 Ответ

0 голосов
/ 25 февраля 2011

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

Given /^I am logged in as "(.+)" through session$/ do |login|
  @user= User.find_by_login(login)
  #open the class and spike
  class ApplicationController < ActionController::Base
    def current_user
      @user
    end
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...