TDD を介して Entity Framework Code First コードを記述する方法を理解しようとしています。過去に Ruby On Rails で使用していたようなテスト データベースがないため、難しいと感じています。おそらく、例で説明する方が簡単です:
現在私は持っています:
public interface IMyContext
{
IDbSet<UserProfile> Users { get; set; }
}
と
public class UserModel
{
IMyContext myContext;
UserModel(IMyContext myContext)
{
this.myContext = myContext;
}
UserProfile GetUser(int id)
{
return myContext.Users.Where(u => u.id == id);
}
}
データベースを実行せずに UserModel コードをテストする方法がわかりません。MyContext をモックできることは承知していますが、コード myContext.Users.Where ... には複雑なモックが含まれる可能性があります。コードの構造が間違っていますか? テスト データベースがなくてもモデルのテストを作成するにはどうすればよいですか? または、コンテキストを偽造する必要がありますか?
ありがとう!