私は解決策を探しまわってされていますが、私は答えを見つけることができませんでした(ようなhereとhereを。)私はすべての道を行くことによって、このコードをテストするために使用さEntity Frameworkの6とユニットテスト
public class ItemsRepository {
public ItemDto Get(int id) {
using (var db = new ItemContext()) {
return db.Items.FirstOrDefault(i => i.Id == id)
.ToDto();
}
}
}
DBに。この場合のユニットテストでもデータベースへの接続がテストされるので、これは良い方法ではないことは分かっています。
理想的には、私はメモリ内のデータベースを構築し、それをシードしたいと考えています。この場合、どうすればいいですか?インメモリリストを使用するためにItemContextを偽装するにはどうすればよいですか?
コンテキストをコンストラクタとして公開したくないことに注意してください。なぜなら、ユーザーはデータの格納方法を知る必要があるからです。