黄瓜速度,性能调整

时间:2011-02-24 08:30:59

标签: ruby-on-rails ruby performance testing cucumber

我已经分析了我的功能文件。我发现我的登录步骤花费的时间最多。

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 :(得分:0)

你可以避免在其他步骤中进行身份验证,可能不是死硬黄瓜开发人员所说的。但是如果您在其他地方测试了身份验证工作流程,那么我就不会看到它的危害。我没试过这个,但我认为变量范围应该是正确的。

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