Rails 4で複数の統合テストを実行するのが難しいです(これは現在、Rails 5のシステムテストと呼ばれています)。Rails統合テストが新しく始まらない
環境:Rails 4/Minitest/Capybara/PoltergeistがPumaサーバーで動作しています。
私は新しいレコードを作成し、単一のテスト、を実行すると、それは毎回に動作します。
RAILS_ENV="test" ruby -I test test/integration/requests_test.rb -n /create_new/
私はテストの全体のセットを実行すると、レコードがすでに存在するため、上記のテストは毎回の作成に失敗しました。
RAILS_ENV="test" ruby -I test test/integration/requests_test.rb
私は開始時にputs Request.all.collect(&:name)
を追加することで、これを確認した - グループを実行するとき、レコードがDBにすでに作成されています。
コアの問題はです。すべてのテストでDBが確実に新鮮ではありません。 (私の単体テストと機能テストはグループ単位で、また個人単位で新鮮です。)どのようにして自分のインテグレーションテストも毎回新しいものにすることができますか?
にENV['RAILS_ENV'] = 'test'
を指定しても、上のコマンドは開発モードでPumaを実行しているようです。
この回答の詳細を記入してください。それはなぜ機能するのですか?おそらくコードサンプルを提供します。良い回答を作成するには、[guidelines](https://stackoverflow.com/help/how-to-answer)を参照してください。 – Toby