我正在移植一个应用程序,它成功地使用RSpec来测试帮助器方法到MiniTest。以下是application_helper.rb
中的方法def active_controller?(controller_name)
params[:controller] == controller_name ? 'active' : nil
end
在视图中使用它可以帮助控制器中的活动控制器突出显示。
以下是帮助者的(不工作)测试。
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
问题是我无法弄清楚如何访问(或存根)请求参数以包含控制器以断言该方法返回true。
有什么想法吗?
答案 0 :(得分:0)
尝试使用pry gem查看@request
,@request.params[:controller]
和params[:controller]
实际返回的内容。
断言active_controller?('dashboard')
正在针对params[:controller]
检查“信息中心”,目前为零,因为您在测试中仅指定了@request.params[:controller]
。
如果测试是:
test 'active_controller? returns correct value' do
params[:controller] = 'dashboard'
assert active_controller?('dashboard')
end
断言是将“仪表板”与已分配的params[:controller]
进行比较。