私のrspec
ディレクトリは少し雑然とし始めているので、すべての仕様をcases
ディレクトリに移動しました。そうすると、rspecはとしての扱い*_controller_spec.rb
を停止しまし:type => :controller
た。この動作を取り戻すための魔法の方法は何ですか?
2 に答える
rspec-rails githubページでのディスカッションからの関連コメント:
rspec-railsが提供するさまざまなスペックタイプの統合は、スペックファイルが含まれるディレクトリの規則に基づいてサンプルグループが含まれるモジュールに基づいています。各スペックが含まれるすべてのモジュールを確認するには、サンプルフォルダを参照してください。タイプ。example.rbは、file_pathに基づいてすべてを配線します。
rspec-railsの「通常の」規則の範囲外であるため、この配線は自分で行う必要があります。モジュールを各サンプルグループに手動で含めるか、メタデータを使用してサンプルグループにタイプをタグ付けし、タイプに基づいて含めるか、rspec-railsと同様のfile_path規則アプローチを使用できます。
したがって、基本的に、このファイルのコピーを作成し、のすべてのspec
呼び出しをで置き換えてescaped_path
からspec cases
、それをRSpec::configure
ブロックに貼り付けます。それを行うためのより簡単な方法があるかもしれません、これは私が数秒間グーグルした後に見つけたものです(実際にこれを自分で試したことはありません)。
のような名前のファイルがある場合spec/foo_controller_spec.rb
、それを行う「正しい」方法は、それらを。という名前のディレクトリに配置することですcontrollers
。だからあなたは得るspec/controllers/foo_controller_spec.rb
。
rspec-railsのreadmeでは、どの種類のスペックがどのディレクトリに入るのかについて詳しく説明しています。