ruby-on-rails - 如何在 rspec (请求规范)上登录而无需守望者回调
问题描述
我想sign_in(user)
在没有看守回调的情况下调用请求规范。
有人知道解决方法吗?
我想在请求规范 中使用类似bypass_sign_in的东西。
我在下面试过。
- 我添加
Devise::Test::IntegrationHelpers
到我的 spec/rails_helper.rb
- 我添加
config.include Devise::Test::IntegrationHelpers, type: :feature
- 2-a。我这样写请求规范。有用。但它调用warden回调
RSpec.describe '/ajax/stores', type: :request do
context 'login as valid user' do
it do
sign_in(user)
end
end
end
- 2-b。我使用(典狱长的方法)编写请求另一个规范,
login_as
但它也调用典狱长回调
RSpec.describe '/ajax/stores', type: :request do
context 'login as valid user' do
it do
login_as(user, bypass: true)
end
end
end
解决方案
您可以将run_callbacks: false
选项传递给 Warden 的login_as
助手:
login_as(user, run_callbacks: false)
推荐阅读
- c# - 为什么在 Go 和 C# 中转换为 big int 后,字节数组给出不同的数字?
- c# - 使用 iText7 和 ASP NET C# 从包含 html 代码的 MySql 表创建 pdf 文件
- python - 在一个范围内将16位数字的前15位加1
- file - 我可以在没有文件系统的情况下将单个文件写入存储设备吗?
- reactjs - 开玩笑更新了状态,但测试还是失败了
- php - PHP 创建表什么都不做
- r - caret deepnet 为所有预测产生相同的值
- javascript - NPM Install 没有像以前那样安装所有文件
- c++ - 为什么 CLion 的实现方法快捷方式将方法设为私有?
- reactjs - React 应用程序未使用 docker-compose 加载