ruby-on-rails - cucumber 和间隙 : current_user in steps

标签 ruby-on-rails session cucumber integration-testing clearance

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

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

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

最佳答案

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

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

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

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

关于ruby-on-rails - cucumber 和间隙 : current_user in steps,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4216057/

相关文章:

ruby-on-rails - link_检查复选框

ruby-on-rails - 使用 Rails 审计的 gem 的 Activity 历史记录

ruby-on-rails - Rails 3,使用外键生成迁移

php - PHP 5 中的 session 处理

php - fatal error : Class 'xxx' not found

java - Cucumber - 如何构建测试步骤?

ruby-on-rails - 通过 capistrano 部署安装 pg 时出错

session - 在 JSF 中登录、注销和存储 session 属性的最佳方法

Java - 小 cucumber 和 cucumber : Pass an object or list of objects on a vertical table instead of horizontal

ruby-on-rails-3 - 如何在测试环境中跟踪 cucumber 中的失败场景?