У нас есть методы, которые возвращают соответствующую запись базы данных или если не существует соответствия, создает запись и возвращает ее. Использование Entity Framework.Как проверить метод, который зависит от содержимого базы данных?
public Transaction FindOrCreateTransactionByID(string id, DBContext db)
{
Transaction t = db.Transactions.SingleOrDefault(f => f.TransactionID == id);
if(t == null)
{
t = new Transaction { TransactionID = id };
db.Transactions.Add(t);
db.SaveChanges();
}
return t;
}
Существует больше методов, чем указано выше, но это должно иллюстрировать сценарий.
Должны ли мы попытаться высмеять DBContext
? Пройдите в DbSet[Transactions]
и издевайтесь над этим? Разбить метод на Find()
и Create()
вместо этого?
Вы прочитали статью [this] (https://msdn.microsoft.com/en-us/library/dn314429.aspx?f=255&MSPPError=-2147217396)? Какую версию EF вы используете? –