我什么来完成是使用(依靠)current_user方法,同时限定黄瓜步骤。我用在我的项目清除。

所有我的第一次尝试使用sign_in但它没有工作(我猜黄瓜世界不知道清除方法...)。

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

有帮助吗?

解决方案

您黄瓜的特点,应通过公共用户界面,驾驶你的应用程序。是这样的:

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

由于current_user方法不可用的浏览器,你不应该在你的规范使用。

您可能伪造它在你的步骤,通过在上述步骤中存储@current_user,然后将其提供的属性读取器。

其他提示

我的想法不同意每验收测试(黄瓜或其它)必须运动登录逻辑。幸运的是,如果你同意,间隙增加了一个后门在测试中,可以让你跳过标志在步骤。

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

现在您可以留下您的登录相关的功能驱动的登录界面和用户一样,跳过这对于那些不直接相关的记录中的功能。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top