データベース ビューをサポートするクラスがあります。私は 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 つの特定のクラスをテストできるようにするだけです。