我一直在尝试使用Rails分析工具。我正在使用一个非常简单的示例,该示例来自http://guides.rubyonrails.org/performance_testing.html的文档,看起来像这样
require 'test_helper'
require 'rails/performance_test_help'
# Profiling results for each test method are written to tmp/performance.
class BrowsingTest < ActionDispatch::PerformanceTest
def test_homepage
get '/'
end
end
然后我使用
运行测试rake test:profile
但崩溃时出现以下错误
Error during failsafe response: undefined method `controller_name' for nil:NilClass
我怀疑问题是应用程序服务于多个域,因此简单地使用get'/'并不足以将url解析回控制器/操作 - 它也需要主机。但是,指定主机(@ host,@ request.host,default_url_options [:host])的常用方法不起作用或导致其他错误(例如@request为nil)。
我也试过输入完整的网址。我在测试环境中将不同的主机定义为常量,因此看起来像
get "http://#{HOST_1}/"
在这种情况下,rake任务成功完成,但命令行中没有出现任何分析信息,也没有生成任何文件。
我还没有真正使用Rails中的分析工具,所以我希望我遗漏了一些明显的东西。任何指针都会非常感激。
干杯