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.Url
paramè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 UrlHelper
avec un RequestContext
qui a un stubbed HttpContextBase
(qui a échoué sur un RouteCollection.GetUrlWithApplicationPath
appel).
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.RouteUrl
mon 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.