Uma das ações de meus controladores, que está sendo chamada em uma solicitação do Ajax, está retornando uma URL para o lado do cliente para que ele possa fazer um redirecionamento. Estou usando Url.RouteUrl(..)
e durante meus testes de unidade isso falha desde que oController.Url
parâmetro não está pré-preenchido.
Tentei várias coisas, entre outras tentando stub UrlHelper
(que falharam), criando manualmente um UrlHelper
com a RequestContext
que possui uma stub HttpContextBase
(que falhou em umRouteCollection.GetUrlWithApplicationPath
chamada).
Eu pesquisei no Google, mas não encontrei praticamente nada sobre o assunto. Estou fazendo algo incrivelmente estúpido usandoUrl.RouteUrl
na minha ação do Controller? Existe uma maneira mais fácil?
Para piorar, eu gostaria de poder testar o URL retornado no meu teste de unidade - na verdade, só estou interessado em saber que ele está redirecionando para a rota correta, mas como estou retornando um URL em vez de um rota, eu gostaria de controlar o URL que foi resolvido (por exemplo, usando um stubbed RouteCollection
) - mas ficarei feliz em concluir a aprovação do teste.