現在、SeedメソッドでSQLを直接実行することにより、Unique制約を実装しています。
context.Database.ExecuteSqlCommand(
"BEGIN TRY ALTER TABLE MyTable ADD CONSTRAINT UC_CODE UNIQUE (COL1, COL2, COL3) END TRY BEGIN CATCH END CATCH");
しかし、今ではこれに対するテストを適切に書くことができません。
リポジトリをモックして、同じレコードを2回挿入しますが、データベースが実際に呼び出されていないため(呼び出されるべきではないため)、エラーはスローされません。重複レコードが挿入されたときにエラーがスローされることを保証しますか?