Я использую Moq для создания макетов набора данных.
Я создал небольшой вспомогательный класс, который позволяет мне иметь хранилище в памяти вместо базы данных, что упрощает модульное тестирование. Таким образом, я могу добавлять и удалять элементы из моего фиктивного набора данных, что позволяет мне тестировать вызовы службы вставки и удаления.
Во время настройки макета у меня есть строка, которая выглядит следующим образом
this.Setup(i => i.AcademicCycles).Returns(mockStore.GetList<AcademicCycle>());
У моего макета много свойств, поэтому я хотел бы выполнить этот шаг настройки с использованием отражения. Мне удалось Returns
часть процесса, работающего через отражение, но я застрял на лямбда-методе для Setup
.
Setup
принимает выражение
Expression
, которое соответствует i => i.AcademicCycles
, и я хотел бы создать это динамически. Используя отражение, у меня есть следующее:
Имя свойства: "AcademicCycles"
Тип IQueryable
Тип AcademicCycle
У меня также есть экземпляр класса i
в операторе лямбда, который является GoalsModelUnitOfWork