Сегодня я провел некоторые исследования, но не нашел подходящего ответа на свой вопрос.Я унаследовал проект ASP.NET MVC, где нет признаков модульного тестирования.Я создал весь свой репозиторий, используя DI, и я отделил бизнес логики от доступа к данным (почти везде)
Теперь я писал модульные тесты, которые должны быть связаны с манипуляциями с БД (доне хотите тестировать LINQ to Object, так как поведение от Linq к SQL может отличаться, какой подход вы используете? Используете ли вы БД, реплицированную из какой-либо тестовой среды, когда я тестирую, или вы используете БД в памяти? (Например, SQL Express?)
Рассмотрим случай, когда я должен проверить вставку в таблицу, где у меня есть ограничение в имени, тестирование в SQL для объекта не будет неудачным.оценка того, чтобы SqlServer express был заполнен данными, которые мне нужны для выполнения теста, например, если мне нужно протестировать Customer и Orders с заполненными этими 2 столбцами), но это будет означать, что мне придется создать много SQL Serverэкземпляры для обработки всех моих тестов.
Какой лучший подход?Спасибо
ОБНОВЛЕНИЕ 1
Пример метода вставки У меня есть
public bool InsertUteCliente(UteCliente uteCli)
{
UPC upc = new UPC();
upc.IdUtente = uteCli.idUte;
upc.CodiceCliente = GetCodCliente(uteCli.id);
upc.AnagraficaVitaEnable = uteCli.AnagVita;
upc.AnagraficaRSMEnable = uteCli.AnagRSM;
upc.AnagraficaInfortuniEnable = uteCli.AnagInfo;
upc.AnagraficaIPMEnable = uteCli.AnagIPM;
upc.PolizzaVitaEnable = uteCli.PolVita;
upc.PolizzaRSMEnable = uteCli.PolRSM;
upc.PolizzaInfortuniEnable = uteCli.PolInfo;
upc.PolizzaIPMEnable = uteCli.PolIPM;
upc.ConsuntiviEnable = uteCli.IfConsuntivi;
upc.RinnoviEnable = uteCli.IfRinnovi;
upc.IncEscEnable = uteCli.IfIncEsc;
upc.PremiVisible = false;
upc.EstrazionePremiVisibile = uteCli.IfEstrazionePremi;
dbContext.UPC.Add(upc);
dbContext.SaveChanges();
return true;
}
Как мне проверить это?