首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cucumber and Clearance: current_user in steps

Cucumber and Clearance: current_user in steps
EN

Stack Overflow用户
提问于 2010-11-18 22:54:27
回答 2查看 1.5K关注 0票数 5

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

首先,我尝试使用sign_in,但它不起作用(我猜Cucumber World不知道清除方法…)。

那么如何让Cuckes识别current_usersign_in/sign_out方法呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-31 12:06:00

您的Cucumber特性应该通过公共用户界面驱动应用程序。类似于:

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

由于浏览器不能使用current_user方法,因此您不应该在规范中使用它。

你可以通过在上面的步骤中存储@current_user,然后为它提供一个属性阅读器来伪造它。

票数 6
EN

Stack Overflow用户

发布于 2013-12-06 10:32:55

我不同意每个验收测试(黄瓜或其他)都必须使用登录逻辑的观点。幸运的是,如果你同意,Clearance在测试中添加了一个back door,让你跳过登录步骤。

代码语言:javascript
复制
user = create(:user)
visit posts_path(as: user)

现在,您可以像用户一样让与登录相关的特性驱动登录ui,而跳过与登录没有直接关系的特性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4216057

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档