gpt4 book ai didi

ruby-on-rails - 如何将 Rails 助手导入到功能测试中

转载 作者:行者123 更新时间:2023-12-03 00:14:50 25 4
gpt4 key购买 nike

您好,我最近继承了一个项目,其中前开发人员不熟悉 Rails,因此决定将很多重要的逻辑放入 View 助手中。

class ApplicationController < ActionController::Base
protect_from_forgery
include SessionsHelper
include BannersHelper
include UsersHelper
include EventsHelper
end

特别是 session 管理。这没问题,并且可以与应用程序一起使用,但我在为此编写测试时遇到问题。

一个具体的例子。某些操作会执行 before_filter 来查看 current_user 是否是管理员。此 current_user 通常由在我们所有 Controller 中共享的 sessions_helper 方法设置因此,为了正确测试我们的 Controller ,我需要能够使用这个 current_user 方法

我已经尝试过这个:

require 'test_helper'
require File.expand_path('../../../app/helpers/sessions_helper.rb', __FILE__)

class AppsControllerTest < ActionController::TestCase
setup do
@app = apps(:one)
current_user = users(:one)
end

test "should create app" do
assert_difference('App.count') do
post :create, :app => @app.attributes
end
end

require 语句发现 session_helper.rb 没问题,但如果没有 Rails 的魔力,它就无法以与 AppsControllerTest 中相同的方式访问

我怎样才能欺骗这个疯狂的设置来测试?

最佳答案

我发现的唯一解决方案是重构并使用一个像样的身份验证插件

关于ruby-on-rails - 如何将 Rails 助手导入到功能测试中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4160417/

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