Aktualizacja:Najlepsze praktyki dla HttpContext i sprawdzalne kontrolery w ASP.NET MVC
oparciu o kilka odpowiedzi, które otrzymałem, po prostu chcę, aby wyjaśnić, że jestem dobrze wie, jak go o wyśmianie HttpContext przy użyciu szyderczego frameworka. Jestem bardziej zainteresowany wiedząc, jakie są plusy i minusy z szyderstwa HttpContext w porównaniu do korzystania z klas wrapper wokół HttpContext.
szukam opinii na temat sposobów radzenia sobie z HttpContext przy budowie sprawdzalne kontrolery w ASP.NET MVC. Po zapoznaniu się z nim wydaje się, że istnieją dwie szkoły myślenia - albo kompilacja z HttpContextBase i używanie szyderczego frameworku do generowania potrzebnych skrótów/mocków do testowania twojej jednostki lub budowania agnostycznych klas otoki wokół obszarów HttpContext, które zamierzasz użyć .
W tej chwili jestem skłonny do budowania off HttpContextBase. Wydaje się, że jest to zarówno szybszy proces tworzenia, jak i łatwiejszy w utrzymaniu, ponieważ nie trzeba poświęcać czasu na rozwijanie i utrzymywanie dodatkowych klas opakowania. Widzę, w jaki sposób klasy opakowujące mogą być korzystne, ponieważ oddzielają podstawową implementację i utrzymują kontekst kontrolera oddzielnie od żądania - ale nie jestem pewien, czy jest to warte dodatkowych kosztów instalacji i utrzymania.
Co sądzisz o zaletach i wadach między tymi dwoma podejściami i kiedy wybierzesz jedną z nich? Czy istnieją pewne rodzaje rozwoju, które nadają się do jednego z rozwiązań bardziej niż inne?
Wygląda na to, że większość osób, które testują jednostki i używają ASP.Net MVC, musi poradzić sobie z tym, jak byś poradził sobie z tym problemem? Jeśli rozwiązałeś ten problem, jak działało twoje rozwiązanie i co zrobiłbyś teraz inaczej?
Jak ma doświadczenie było z tej konfiguracji? Czy uważasz, że jest to możliwe do utrzymania, działające itp.? –
Tak, to działa bardzo dobrze dla mnie. Sztuką jest ukrywanie wszystkiego w klasie bazowej, z której dziedziczą klasy testowe, więc robisz to raz i nie musisz się o to martwić ponownie. – Erik