- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个使用 Rails 3.2 和 Devise 的应用程序。我有一个使用 rspec 和 Capybara 的请求测试套件。
我尝试在我的登录助手中改用 Warden 测试助手,而不是让 Capybara 填写登录表并提交。由于我的测试套件的大小和复杂性,这使我的测试运行时间节省了超过一分半钟。
在我的配置中是:
RSpec.configure do |config|
config.include Warden::Test::Helpers, :type => :request
config.after :each do
Warden.test_reset!
end
end
在上下文中:
let!(:current_user) { FactoryGirl.create(:user) }
background do
login_as(current_user, :scope => :user)
end
但是,当使用这些配置运行测试套件时,几乎每个测试运行都有一个不同的随机失败请求规范,因为页面显示的好像用户没有登录一样。(具体来说,链接由 user_signed_in?
有条件的)
我的问题:有没有其他人遇到过这种不可靠的情况,如何缓解这种情况?
最佳答案
最简单的方法就是在 before :each
block 中使用 sign_in 表单。您需要 Controller 规范中的测试助手,因为它与设计隔离。你在集成测试中没有这个问题。
关于ruby-on-rails - 带有 Devise 和 rspec : Warden test helpers unreliable 的 Rails 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10987431/
我正在编写一个 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?”。 谁能告诉我它们之间
我是一名优秀的程序员,十分优秀!