いくつかのオープン ソース コードの単体テストを作成しようとしています。
テストの 1 つは、最小数のレコードのみがメモリにロードされていることをテストします (つまり、誰かが次のように呼び出した場合:
DataContext.SomeTable.ToList().Where(s=>s.Id <=10)
テストは失敗するはずです)
これを機能させるには、単体テストを実行する前に、DataContext.SomeTable.Load をリセットして項目が 0 になるようにする必要があります。
現在、この TestFixture (nunit を使用していますが、関連性はありません) は抽象的であり、インスタンス化時に DbContext が挿入されているため、単体テストでさまざまなプロバイダーをテストできます。読み込まれたエンティティをクリアする方法があるとは思いませんが、注入されたコンテキストと同じデータベース プロバイダーを使用する新しい DbContext を破棄して作成する方法を知りたいと思っていました。