Potrzebuję utworzyć obiekt z AutoFixture, używając tylko System.Type. Jednak wydaje się, że nie ma przeciążenia CreateAnonymous()
, które po prostu przybiera typ. Wszyscy oczekują generycznego czasu kompilacji T. Czy istnieje sposób przekonwertowania pliku System.Type na T?AutoFixture: jak utworzyć Anonimowy z Type.Type Typ
Edycja ze szczegółami Zastosowanie:
Używam AutoMapper, który ma hak służący do wstrzykiwania komponentów do obsługi złożonych scenariuszy mapowe:
void ConstructServicesUsing(System.Func<Type,object> constructor)
Jak widać z podpisem, klienci mogą zarejestrować Func
, którą AutoMapper wywołuje w dowolnym momencie, gdy potrzebuje wstrzykniętej usługi (głównie implementacje ValueResolver).
W kompilacjach produkcyjnych ta metoda wywołuje w moim kontenerze StructureMap w celu pobrania komponentu. Jednakże, gdy jednostka testuje mój kod odwzorowania, I musi podać implementacje skrótów, w przeciwnym razie AutoMapper zgłasza wyjątek. Ponieważ używam AutoFixture + Moq jako mojego pojemnika do automatyzacji, naturalne wydaje się, aby AF był w pełni uwodniony, dlatego mogę skoncentrować się na pisaniu kodu testu jednostkowego.
Czy możesz powiedzieć więcej o swoim scenariuszu użytkowania? W jakim rodzaju testu nie znasz czasu kompilacji typu, więc nie możesz użyć metody "CreateAnonymous"? – nemesv