相关疑难解决方法(0)

如何在Capybara测试中使用Rspec验证Warden/Devise

我想在我的Rails应用程序中的Capybara测试套件中使用rspec模拟来存根登录用户(使用Devise/Warden).这将节省大量时间,并且意味着我的测试套件可以/将定期运行.

以前我可以使用authlogic通过使用如下代码来截断我的会话模型来做到这一点:

def login(user)
  user_session = mock_model(UserSession, {:user => user})
  UserSession.stub(:find).and_return(user_session)
end
Run Code Online (Sandbox Code Playgroud)

现在我正在使用Devise,我再也无法访问UserSession对象了.因为我使用capybara来测试我的代码,所以我没有直接访问请求对象来使用devise的内置sign_in测试助手.

我的问题是:我如何使用水豚,设计和规范模拟模拟登录用户,而不需要每个具有登录用户的方案首先进入注册路径,填写表单,提交,等待响应,以及然后转到所需的页面?

ruby rspec ruby-on-rails devise capybara

9
推荐指数
1
解决办法
6485
查看次数

标签 统计

capybara ×1

devise ×1

rspec ×1

ruby ×1

ruby-on-rails ×1