0

データベース ビューをサポートするクラスがあります。私は FactoryGirl を使用してこれを試してテストしているので、次のuserようにインスタンスを作成する通常の手順を実行します。

before(:each) do
  @user = FactoryGirl.create(:user)
end

次に、ビュー数を確認します。

Balance.all.count   # It is returning 0, it should be returning 1

データベース ビューについての私の理解では、トランザクションがデータベースにコミットされるまでビューは更新されません。私は NHibernate を使用した経験があり、データベースから更新された値を取得するには、次のようにします。

Session.Flush();

これにより、データベース ビューを照会して更新された値を取得できますが、後でトランザクションをロールバックまたはコミットすることができます。

ActiveRecordでこれを行う方法はありますか? または、変更をデータベースにコミットしてクリーンアップする方法はありますか? すべてのテストでトランザクションをオフにしたくありません。この 1 つの特定のクラスをテストできるようにするだけです。

4

1 に答える 1

2

let!(:user) { FactoryGirl.create(:user) }

database_cleanerまた、 gemを調べることもできます。

于 2013-02-23T19:02:06.600 に答える