Piszę testy jednostkowe dla metod kontrolera ASP.NET MVC.Czy powinienem używać AutoMappera w swoich testach jednostkowych?
Sterowniki te są zależne od IMapper
- interfejsu utworzonego przeze mnie do abstrakcyjnej AutoMappera, przekazywanego za pośrednictwem wtrysku konstruktora za pomocą Castle Windsor.
Metody działania wykorzystują IMapper
do mapowania obiektów z domen do obiektów ViewModel iz powrotem, mając na celu utrzymanie porządku w DRY i utrzymywanie zwięzłych metod działania.
W moich testów jednostkowych, mam
Konfiguracja AutoMapper z odpowiednimi wiązaniami (są one zbudowane przy użyciu profili AutoMapper, więc sprawdzalne i wielokrotnego użytku między projektami witryn oraz testów jednostka) i przekazać, że jako odpowiednia implementacja AutoMappera
IMapper
.przepustkę atrapa obiektu (używam Min) dla instancji
IMapper
, w zależności od badania (oznaczałoby to powielenie popracować w kodzie konfiguracji testy, aby upewnić się obiekty wrócił z udawanym odwzorowującym odnoszą się do obiekty, których udawana mapka udaje mapę).Ręcznie konfiguruj AutoMappera za pomocą mapowań, które według mnie będą potrzebne przy każdym teście (dużo pracy i oznacza, że nie testuję odwzorowań, które naprawdę będą w użyciu).
Jaka jest opinia na temat korzystania z kodu infrastruktury w testach jednostkowych? W którym momencie staje się test integracyjny (tj. Testowanie integracji AutoMappera i kontrolerów)?
Wydaje się, że 2 jest purystycznym poglądem, chociaż myślę, że muszę dowiedzieć się więcej o Moq i jak uzyskać to, aby zwrócić wartości, które odnoszą się do rzeczywistych wartości przekazanych do metod, które kpią.
jeśli używasz wzorca repozytorium, czy mogę wskazać ci ... http://rileytech.net/post/2010/08/17/Mock-Utility-creating-those-basic-services.aspx - - użyj dwóch ostatnich plików lub użyj go jako pełnego przykładu :-) – jeriley