1

新しいrails3.2.3アプリケーションを作成した後、コードを試すための新しいスキャフォールドを生成しました。後でいくつかのrakeタスクを実行していて、引数なしで誤って「rake」と入力しました。驚いたことに、7つのテストと10のアサーションを実行し、失敗は0でした...なぜですか?アプリケーションにテストを追加しませんでした。

これらのテストはスキャフォールドで生成されましたか?テストは/testディレクトリにあるようです。test :: unitなどではなく、rspecを使用したい。これがrspec以外の場合、/ testディレクトリを削除するだけで安全ですか、それともこれを削除するための基本的な作業がありますか?

4

3 に答える 3

2

はい!テストは足場とともに生成されます。それらは、scaffoldコントローラーが正しくルーティングしていること以上のことはしませんがassert、安全に削除できます。testディレクトリ全体ではなく、テストファイル自体を削除するのがおそらく最善ですが(将来的に使用することになった場合に備えTest::Unitて)、生成されたすべてのテストは次のサブディレクトリにあります。

test/functional
test/unit/
test/unit/helpers
于 2012-05-06T16:59:31.843 に答える
1

はい、テストディレクトリを安全に削除できます。Railsにrspecを使用し、test :: unitを生成しないように指示する場合は、これをconfig/application.rbに追加します。

config.generators do |g|
  g.view_specs      false
  g.helper_specs    false
  g.orm             :active_record
  g.test_framework  :rspec
  g.helpers         false
end

上記では、ビュースペック、ヘルパースペック、またはヘルパーも生成されません。

于 2012-05-06T17:00:50.893 に答える
0

ええ、代わりに RSpec を使用したい場合は、そのディレクトリを削除しても安全です。新しいアプリケーションを生成するとき、-Tフラグをnewコマンドに渡して、Rails が自動的にテストをセットアップしないようにします。

rails new app_name -T
于 2012-05-06T17:10:08.240 に答える