Utwórz wyrażenie <Func <, >> używając odbicia
Używam Moq do tworzenia makiet zestawu danych.
Stworzyłem małą klasę pomocniczą, która pozwala mi na przechowywanie w pamięci zamiast bazy danych, która sprawia, że testowanie jednostek staje się proste. W ten sposób mogę dodawać i usuwać elementy z mojego udawanego zestawu danych, co pozwala mi na testowanie wstawiania i usuwanie zgłoszeń serwisowych.
Podczas konfiguracji makiety mam linię, która wygląda jak poniżej
this.Setup(i => i.AcademicCycles).Returns(mockStore.GetList<AcademicCycle>());
Moja makieta ma wiele właściwości, więc chciałbym wykonać ten krok konfiguracji za pomocą odbicia. Udało mi sięReturns
część procesu działającego poprzez refleksję, ale utknąłem na metodzie lambdaSetup
.
Setup
bierze
Expression<Func<GoalsModelUnitOfWork, IQueryable<AcademicCycle>>>
co odpowiadai => i.AcademicCycles
i chciałbym to stworzyć dynamicznie. Korzystając z refleksji mam następujące:
Nazwa właściwości: „AcademicCycles”
TypIQueryable<AcademicCycle>
TypAcademicCycle
Mam także instancjęi
w instrukcji lambda aGoalsModelUnitOfWork