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.Urlparametr 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 UrlHelperz a, RequestContextktóre ma odgałęzienie (co nie HttpContextBasepowiodło się podczas RouteCollection.GetUrlWithApplicationPathpołączenia).
Przeszukałem Google, ale nie znalazłem praktycznie nic na ten temat. Czy robię coś niesamowicie głupiego, używając Url.RouteUrlmojej 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.