Тестирование доступа к данным EF с доступом к данным Test DB - PullRequest
0 голосов
/ 05 октября 2018

Сегодня я провел некоторые исследования, но не нашел подходящего ответа на свой вопрос.Я унаследовал проект 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;
    }

Как мне проверить это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...