gpt4 book ai didi

ruby-on-rails - Minitest - 测试使用请求参数的辅助方法

转载 作者:太空宇宙 更新时间:2023-11-03 16:47:24 27 4
gpt4 key购买 nike

我正在将一个使用 RSpec 成功测试辅助方法的应用程序移植到 MiniTest。下面是application_helper.rb中的方法

def active_controller?(controller_name)
params[:controller] == controller_name ? 'active' : nil
end

它是在 View 中用来帮助在 Controller 中突出显示事件 Controller 的东西。

下面是助手的(不工作)测试。

require 'test_helper'

class ApplicationHelperTest < ActionView::TestCase

test 'active_controller? returns correct value' do
@request = ActionController::TestRequest.new
@request.params[:controller] = 'dashboard'
assert active_controller?('dashboard')
end
end

问题是我无法弄清楚如何访问(或 stub )请求参数以包含能够断言该方法返回 true 的 Controller 。

有什么想法吗?

最佳答案

尝试使用 pry gem 来查看 @request@request.params[:controller]params[:controller]实际上返回。断言 active_controller?('dashboard') 正在根据 params[:controller] 检查 'dashboard',目前为 nil,因为您只分配了 @ request.params[:controller] 在你的测试中。
如果测试是:

test 'active_controller? returns correct value' do
params[:controller] = 'dashboard'
assert active_controller?('dashboard')
end

断言正在将“仪表板”与已分配的 params[:controller] 进行比较。

关于ruby-on-rails - Minitest - 测试使用请求参数的辅助方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30699460/

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