How_To_Reset_Factorybot_Records_In_Rails_Tests
ケース
- 同じDBを参照している環境でテストを二重実行してしまい、不整合なレコードがテスト環境に残ってしまった時
方法
- テスト環境でコンソールを起動
RAILS_ENV=test rails console
- コンソールで以下を実行し、テストDB内の全てのレコードをリセット
ActiveRecord::Base.connection.tables.each do |table|
ActiveRecord::Base.connection.reset_pk_sequence!(table)
ActiveRecord::Base.connection.execute("DELETE FROM #{table}")
end
- 特定のレコードのみ削除したい場合は以下のように直接削除する
User.delete_all