黄瓜和清关:current_user步骤

gmi*_*ile 5 session integration-testing ruby-on-rails cucumber clearance

我要做的是current_user在定义Cucumber步骤时使用(依赖)方法.我在我的项目中使用了Clearance.

首先我尝试使用sign_in但它没有用(我猜黄瓜世界不知道清除方法......).

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

Bry*_*Ash 6

您的Cucumber功能应该通过公共用户界面驱动您的应用程序.就像是:

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

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

您可以通过@current_user在上面的步骤中存储然后为其提供属性读取器来伪造它.