1

テストにRspecを使用したかったので、テストなしで-Tオプションを指定して新しいRails3.2.xアプリケーションを作成しました。

ここで、Test::Unitに戻します。すべてのrakeタスクが機能し、RSpecテストシェルの代わりにTest :: Unitを使用して新しいスキャフォールドが生成されるようにするにはどうすればよいですか?

4

1 に答える 1

3

検索とハッキングの後、これが私にとってうまくいったものです。

  1. Gemfile から rspec と rspec-rails を削除する
  2. 「gem list rspec --local」を実行し、それらの rspec gem ごとに「gem uninstall」を実行します。
  3. Gemfile.lock を削除
  4. rm -r スペック/
  5. バンドル インストール
  6. mkdir テスト/
  7. config/application.rb に「require 'rails/all'」を追加
  8. ファイル test/test_helper.rb を作成し、次のコードを入れます。

    ENV["RAILS_ENV"] = "test"
    require File.expand_path('../../config/environment', __FILE__)
    require 'active_support'
    require 'rails/test_help'
    # require 'factory_girl_rails'  #use if you are using FactoryGirl for fixtures
    
    class ActiveSupport::TestCase
      # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
      #
      # Note: You'll currently still have to declare fixtures explicitly in integration tests
      # -- they do not yet inherit this setting 
      fixtures :all
    
      # Add more helper methods to be used by all tests here...
    end
    

その後、次を使用してテストを生成できます

rails g integration_test SomeStories

または、単体テストを test/unit の下に追加して、それらを実行することもできます

rake test
rake test:recent
于 2013-01-15T16:25:52.993 に答える