web-dev-qa-db-ja.com

停止Railsビューとヘルパーのスペックテストの生成?

Application.rbからこれを行う方法はありますか?

43
picardo

編集:上に短い答え

これをeveryジェネレーターを実行するたびに実行する場合は、実際にapplication.rbファイル内でカスタマイズします。このコードをApplicationクラス定義内のファイルに配置します。

config.generators do |g|
  g.view_specs false
  g.helper_specs false
end

いくつかのオプションをgeneratorコマンドに渡すことによってこれを達成することもできます。 This Railscastはプロセスをより詳細に検討しますが、基本的な考え方は非常に単純です。

Railsジェネレーターにはいくつかのオプションがあります。 Rails g controller -hを実行すると、コントローラージェネレーターのオプションを確認できます。 Rspecがすでに設定されていると仮定すると、出力を見ると、「Rspecオプション」というセクションがあります。次のようになります。

Rspec options:
  [--controller-specs]  # Indicates when to generate controller specs
                        # Default: true
  [--view-specs]        # Indicates when to generate view specs
                        # Default: true

これらのブール値を無効にするには、名前の前に「no」を付けて渡します。したがって、ビューの仕様がないコントローラーが必要な場合は、次のように呼び出します。

Rails g controller Foobar index show new create --no-view-specs

また、正しいビューとアクションが作成されたコントローラーを取得できますが、ビューの仕様はありません。

scaffoldジェネレーターを使用している場合も、同じことが当てはまります。 --helper-specsオプションがあるので、ビューやヘルパーの仕様が必要ない場合は、次のように実行します。

Rails g scaffold Foobar name:string --no-helper-specs --no-view-specs
78
jergason