私が使用して私の国のテーブルに新しいエントリを作成し、その一部を私の(のみ/最初の)キュウリのテストを実行するとき、私は、奇妙な問題を抱えている:Cucumber、Capybara&Rails 2.3.2 - FactoryGirlはデータベースにレコードをコミットしませんが、コンソールからは動作しますか?
Factory.create(:country)
モデルは私のデータベースにコミットされません。 (MySql 5)&ビューがこのデータを読み込もうとすると、テストが失敗します。 (:国)ここで私は、レールコンソールをロードし、まったく同じコマンドすなわちFactory.createを実行
[4;36;1mSQL (0.1ms)[0m [0;1mSAVEPOINT active_record_1[0m
[4;35;1mCountry Create (0.1ms)[0m [0mINSERT INTO `countries` (`name`, `country_code`, `currency_code`) VALUES('Ireland', 'IE', 'EUR')[0m
[4;36;1mSQL (0.1ms)[0m [0;1mRELEASE SAVEPOINT active_record_1[0m
[4;35;1mSQL (0.1ms)[0m [0mSAVEPOINT active_record_1[0m
しかし私test.logからの抜粋である、レコードがデータベースにコミット取得します。ここでenv.rb任意のアドバイスは非常に高く評価されて
Cucumber::Rails::World.use_transactional_fixtures = false
からtest.log
[4;36;1mSQL (3.5ms)[0m [0;1mBEGIN[0m
[4;35;1mCountry Create (0.2ms)[0m [0mINSERT INTO `countries` (`name`, `country_code`, `currency_code`) VALUES('Ireland', 'IE', 'EUR')[0m
[4;36;1mSQL (1.1ms)[0m [0;1mCOMMIT[0m
から出力され、私はこれを理解しようとしている最後の2日間を過ごしたが、何の成功がなかったしました。
database_cleanerを追加し、DatabaseCleaner.strategy = nilを設定すると、レコードが保存を開始しました。しかし、私のtest.logファイルからは、テストの開始時にレコードが作成されている間に、次にテストケースを実行するまでは、アプリケーション/ビューでは使用できなくなることがわかります。データが挿入され、テストが失敗した(データがない)テストケースを実行し、次にデータとパスを見つけます。何か案は?ありがとう! – Jason