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 is nil)。
また、完全な URL を入力してみました。テスト環境で定数として定義されたさまざまなホストがあるため、これは次のようになりました
get "http://#{HOST_1}/"
この場合、rake タスクは正常に完了しましたが、コマンド ラインにプロファイリング情報が表示されず、ファイルも生成されませんでした。
私は Rails のプロファイリング ツールをあまり使用していないので、明らかな何かが欠けていることを願っています。どんなポインタでも大歓迎です。
乾杯