Как вы можете выполнять те же тесты, что и «Усилия», используя только Moq?

c# effort entity-framework-6 moq unit-testing

Вопрос

В настоящее время я настроил множество тестов, включая уровни доступа к данным и бизнес-логики, используя Effort (см. Https://effort.codeplex.com/ ). Мы уже использовали Moq в наших модульных тестах, и мой босс хотел бы, чтобы все было просто, поэтому он хочет, чтобы я увидел, могу ли я перенести тесты из реализации Effort на нас только Moq и FakeDbSet (см. Http: // aikmeng.com/post/62817541825/how-to-mock-dbcontext-and-dbset-with-moq-for-unit ), чтобы упростить работу с базой кода.

Насколько я понимаю, Effort в основном имитирует всю базу данных SQL Server в памяти. Таким образом, похоже, что с помощью Moq потребуется много кода, чтобы настроить все, чтобы можно было запустить тест, используя только это. У кого-нибудь есть мысли по этому поводу? Можно ли это сделать без огромного количества кодировок? У кого-нибудь есть предложения? ТИА.

Принятый ответ

Закончилось пребывание с усилием. Использование FakeDbSet и Moq требовало гораздо большей настройки и приводило к сбою некоторых запросов LINQ в модульных тестах, даже если они работают в производственной ситуации.

ОБНОВИТЬ:

Оказывается, что это не проблема с FakeDbSet или Moq - в моем запросе LINQ возникли проблемы, в которых он завершился с ошибкой, если бы были значения нулевой строки.




Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему