リクエスト ヘルパー (ActionDispatch::Integration::RequestHelpers [ApiDock]から、post メソッドや xhr メソッドなど) をコントローラー仕様以外の仕様にも含めたいと思います。問題は、これらのリクエスト ヘルパーが spec/controller にのみ含まれており、コントローラーが記述されている場合です。これらの仕様には何を含める/要求する必要がありますか? RSpec 2 と Rails 3 を使用しています。
1316 次
2 に答える
2
以下のコードを受け入れヘルパーに含めることで問題を解決しました。Steak でない場合は、spec ヘルパーに入れるか、別の場所から要求するだけです。post および xhr メソッドは、仕様や現在のディレクトリに関係なく、その仕様で使用できるようになりました。
コードは RSpec::Rails::RequestExampleGroup から派生しています
RSpec::Core::ExampleGroup.class_eval do ActiveSupport::Concern を含める ActionDispatch::Integration::Runner を含める RSpec::Rails::BrowserSimulator を含める デフアプリ ::Rails.アプリケーション 終わり def last_response 応答 終わり 終わり
于 2010-11-17T09:05:47.240 に答える
1
4年後、もちろん多くのことが変更されたことは知っていますが、他のテストをコントローラーテストのように動作させる方法を検索しているときにこの質問に出くわしたので(したがって、post
およびget
メソッドなどを持っています)、この解決策を指摘したかったのですRSpec 3 で動作します: これをspec_helper
config.include RSpec::Rails::RequestExampleGroup, type: :request, example_group: { file_path: /spec\/(api|integration)/
指定されたパス内のすべてのテストがコントローラー メソッドをサポートするようにします。
于 2014-11-14T09:32:00.820 に答える