Jedna z moich akcji kontrolera, która jest wywoływana w żądaniu Ajax, zwraca adres URL po stronie klienta, aby mógł wykonać przekierowanie. Używam Url.RouteUrl(..)
i podczas moich testów jednostkowych kończy się to niepowodzeniem, ponieważ Controller.Url
parametr nie jest wstępnie wypełniony.
Próbowałem wielu rzeczy, między innymi próbując odgiąć UrlHelper
(co nie powiodło się), ręcznie tworząc UrlHelper
z a, RequestContext
które ma odgałęzienie (co nie HttpContextBase
powiodło się podczas RouteCollection.GetUrlWithApplicationPath
połączenia).
Przeszukałem Google, ale nie znalazłem praktycznie nic na ten temat. Czy robię coś niesamowicie głupiego, używając Url.RouteUrl
mojej akcji kontrolera? Czy istnieje prostszy sposób?
Co gorsza, chciałbym móc przetestować zwrócony adres URL w moim teście jednostkowym - w rzeczywistości interesuje mnie tylko to, że przekierowuje na właściwą trasę, ale ponieważ zwracam adres URL zamiast trasy, chciałbym kontrolować adres URL, który jest rozwiązywany (np. za pomocą kodu skróconego RouteCollection
) - ale będę szczęśliwy, gdy mój test przejdzie pomyślnie.