L'une de mes actions de contrôleurs, qui est appelée dans une requête Ajax, renvoie une URL au côté client afin qu'il puisse effectuer une redirection. J'utilise Url.RouteUrl(..)et pendant mes tests unitaires, cela échoue car le Controller.Urlparamètre n'est pas pré-rempli.
J'ai essayé beaucoup de choses, entre autres en essayant de stub UrlHelper(qui a échoué), en créant manuellement un UrlHelperavec un RequestContextqui a un stubbed HttpContextBase(qui a échoué sur un RouteCollection.GetUrlWithApplicationPathappel).
J'ai cherché sur Google mais je n'ai pratiquement rien trouvé sur le sujet. Est-ce que je fais quelque chose d'incroyablement stupide en utilisant Url.RouteUrlmon action de contrôleur? Y a-t-il un moyen plus simple?
Pour aggraver les choses, j'aimerais pouvoir tester l'URL renvoyée dans mon test unitaire - en fait, je suis seulement intéressé à savoir qu'il redirige vers la bonne route, mais puisque je retourne une URL au lieu d'un route, je voudrais contrôler l'URL qui est résolue (par exemple en utilisant un stubbed RouteCollection) - mais je serai heureux de faire passer mon test pour commencer.