- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我测试我的规范之一时,我继续收到此问题:
Failure/Error: visit "/"
UncaughtThrowError:
uncaught throw :warden
下面是代码的各个部分:
#_spec.rb
require "rails_helper"
RSpec.feature "Users can create a new discussion" do
before do
login_as(FactoryGirl.create(:user))
visit "/"
click_link "Discussions"
click_link "Start a discussion"
end
scenario "with valid attributes" do
click_button "Post"
end
end
#_factory.rb
FactoryGirl.define do
factory :user do
sequence(:email) { |n| "test#{n}@example.com" }
password "password"
sequence(:user_name) { |n| "User#{n}" }
first_name "Test"
last_name "User"
country "United States"
state "Nevada"
city "Las Vegas"
end
end
#rails_helper
config.include Warden::Test::Helpers, type: :feature
config.after(type: :feature) { Warden.test_reset! }
显然,测试在 _spec 文件中标记了访问行,但我不确定原因。如果我可以添加任何其他代码来提供帮助,请告诉我,谢谢!
更新
所以这个问题是因为我在 Devise 中使用了 confirmable;但是,我不清楚如何通过测试来确认用户。这是我可以在工厂或规范本身中放置的东西吗?我会认为规范本身?
最佳答案
只需向用户发出一个简单的.confirm!
,即:
before do
user = FactoryGirl.create(:user)
user.confirm!
login_as(user)
visit "/"
click_link "Discussions"
click_link "Start a discussion"
end
您似乎还缺少将 warden
设置为测试模式(将其放入 rails_helper):
RSpec.configure do |config|
config.include Warden::Test::Helpers
config.before :suite do
Warden.test_mode!
end
end
在此处查看其他详细信息:https://github.com/plataformatec/devise/wiki/How-To%3a-Test-with-Capybara .
关于ruby-on-rails - FactoryGirl错误:warden with RSpec in Rails 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32543878/
我正在编写一个 Sinatra Rack 应用程序,我想使用 Warden 进行身份验证。我正在使用 heroku 的工具带,所以我使用工头来运行我的应用程序。我找到了 some code这大概应该让
我正在玩 Mapr Sandbox,我不明白 Mapr Warden 应用程序的作用是什么。 Mapr 网站包含对配置文件的引用,但没有程序本身的描述。 最佳答案 Warden 是一个轻型 Java
每当我转到要求用户登录的路由时,我都会在服务器日志中收到一个 ArgumentError(未捕获的抛出:warden)。 Controller 代码如下: class TracksController
我有一个相当标准的Devise登录过程,其中: 看法: resource_name,:url => session_path(resource_name))做| f | %>
我正在尝试进行功能测试,需要使用 Warden 登录。 我已经做好了: class ActionController::TestCase include Warden::Test::Helpe
这是一个带有 before_filter 的非常典型的 Controller 的规范。当未登录用户(又名访客)尝试访问 /projects/new 时重定向到登录页面. describe Projec
我用 --api 设置了一个 Rails 5 (5.0.0.rc1) 应用程序旗帜。它使用 Warden 进行身份验证。 一切正常,除了当 Warden 身份验证失败时,响应没有被正确记录。日志如下所
我刚刚开始测试 Devise。我无法理解为什么我会收到此错误:: Failure/Error: subject.current_user.should_not be_nil ArgumentErro
我正在使用 Rails Warden插入。它定义了一个 helper method返回当前用户的“用户”。请参阅源代码链接。 现在我有一个没有任何 Controller 引用的业务逻辑对象。但我想获得
我有一个 Rails 应用程序,它使用 devise 来验证用户,然后在调用 sinatra 应用程序之前由中间件检查 session /管理员用户,我的 config.ru 在下面。 这在直接从服务
我按照本指南使用 Websockets 创建聊天功能。 https://www.sitepoint.com/rails-and-actioncable-adding-advanced-features
我在测试 Controller 和使用 Warden 时遇到问题。 所有示例都指向 stub request.env['warden']。当我调用 env['warden'] 时,这会导致我的 Con
当我测试我的规范之一时,我继续收到此问题: Failure/Error: visit "/" UncaughtThrowError: uncaught throw :warden 下面是代码的各个部分
假设我有两个默认的 Warden 策略,:database_authenticatable 和 :jwt。 我如何确定(在 Controller 内部)用于登录 current_user 的策略? 最
在从Devise切换到直接使用的过程中Warden . 我怎样才能实现 Devise 开箱即用的“忘记密码”功能? 是否有 gem 可以将此添加到 Warden 上? 附言。不使用 Devise 的原
当运行我的所有规范时,rspec 卡住并且在日志文件中存在以下内容: UncaughtThrowError - uncaught throw :warden: devise (3.5.1) lib
在查看别人的代码后,我注意到以下几点: login_as user, scope: :user 我一直都是简单地使用 login_as user 于是出去找解释,找到这篇文章How to: Test
我正在构建的站点要求用户一次只能通过一个 session 登录。如果用户在当前已登录的情况下尝试从其他浏览器或机器登录站点,则需要拒绝他们的登录尝试。 我考虑过将数据库中的用户对象标记为已登录,但这对
我创建了自己的 Warden 策略以与 Devise 一起使用。它与 Devise::Strategies::DatabaseAuthenticatable 非常相似,实际上它继承自它并重新实现身份验
我在 Rails 应用程序中使用 Devise 对用户进行身份验证。 我找到了两种方法,“warden.authenticate?”和“user.valid_password?”。 谁能告诉我它们之间
我是一名优秀的程序员,十分优秀!