gpt4 book ai didi

ruby-on-rails - 带有 Devise 和 rspec : Warden test helpers unreliable 的 Rails 3

转载 作者:数据小太阳 更新时间:2023-10-29 07:00:54 30 4
gpt4 key购买 nike

我有一个使用 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/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com