我已经分析了我的功能文件。我发现我的登录步骤花费的时间最多。
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
上面的步骤找到了用户,但是如何让它存储会话,并重定向我?
答案 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