Una delle azioni dei miei controller, che viene chiamata in una richiesta Ajax, sta restituendo un URL al lato client in modo che possa effettuare un reindirizzamento. Sto usando Url.RouteUrl(..)
e durante i test delle mie unità questo non riesce poiché il Controller.Url
parametro non è precompilato.
Ho provato un sacco di cose, tra gli altri, che tentano di stub UrlHelper
(che non), creando manualmente una UrlHelper
con una RequestContext
che ha un contuso HttpContextBase
(che non è riuscito in una RouteCollection.GetUrlWithApplicationPath
chiamata).
Ho cercato su Google ma non ho trovato praticamente nulla sull'argomento. Sto facendo qualcosa di incredibilmente stupido Url.RouteUrl
nell'azione del mio controller? C'è un modo più semplice?
A peggiorare le cose, vorrei essere in grado di testare l'URL restituito nel mio test unitario - in realtà sono interessato solo a sapere che sta reindirizzando sulla rotta giusta, ma dal momento che sto restituendo un URL anziché un percorso, vorrei controllare l'URL che è stato risolto (ad es. utilizzando uno stubbed RouteCollection
) - ma sarò felice di far passare il mio test all'inizio.