Entity Framework を使用している場合、統合テストに苦労しています。
テスト プロジェクトでテスト データを使用してデータベースをシードしていますが、作成、更新、および削除の操作をどのようにテストするのか疑問に思っています。
基本的に、たとえば 5 つの顧客エントリを含むテスト データがあります...これらの 5 つのエントリに基づいてデータを取得するための単体テストを作成できるようになりました。(たとえば、get all は 5 つのアイテムを含むコレクションを返します)。
しかし、1 人の顧客を削除するテストがある場合、これは GetAll テストが 5 人の顧客を想定していることを意味しますが、4 つしか返さず (このテストが削除テストの後に実行された場合)、失敗します。
この問題をどのように回避しますか? テストに特定の順序を与えるか、すべてのテストの前にデータベースを再シードしますか (しかし、これは非常に悪いように聞こえますか?)...
ありがとう !