代码之家  ›  专栏  ›  技术社区  ›  oldhomemovie

黄瓜和清仓:当前用户的步骤

  •  5
  • oldhomemovie  · 技术社区  · 14 年前

    我要做的是利用(依靠) current_user 方法定义黄瓜步骤。我在我的项目中使用清除。

    首先我试着用 sign_in 但没用(我想黄瓜世界不知道清除方法…)。

    我该怎么让小黄瓜知道 当前用户 登录 / sign_out 方法?

    2 回复  |  直到 7 年前
        1
  •  6
  •   Bryan Ash    14 年前

    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 在上面的步骤中,然后为它提供一个属性读取器。

        2
  •  1
  •   Derek Prior    11 年前

    我不同意每个验收测试(cucumber或其他)都必须使用登录逻辑的想法。幸运的是,如果您同意的话,Clearance添加了 back door 在允许您跳过登录步骤的测试中。

    user = create(:user)
    visit posts_path(as: user)
    

    现在,您可以像用户一样保留与登录相关的功能来驱动登录ui,而对于与登录不直接相关的功能则可以跳过这一步。