1

我一直在尝试使用 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 中的分析工具,所以我希望我遗漏了一些明显的东西。任何指针将不胜感激。

干杯

4

0 回答 0