MvcMailer: Não é possível concluir os testes do NUnit nas exibições do Razor que usam Url.Action
Aqui está o meu problema - estou usando MvcMailer para criar e-mails bem formatados usando a sintaxe Razor, e é uma ótima ferramenta para isso!
O problema que eu encontro é este - aqui está uma sintaxe da minha Visualização para um dos e-mails que eu envio:
<p>Click here to return to <a href="@Url.Abs(Url.Action("Details", "Home", new{ Id=ViewBag.IdeaId}))">@ViewBag.IdeaName</a></p>
Sempre que tento executar meus testes de unidade, recebo a seguinte mensagem de erro:
Podemos enviar notificações por email para novos comentários ?: System.ArgumentNullException: o valor não pode ser nulo. Nome do parâmetro: httpContext
Stacktrace - abreviado para concisão, apenas seções relevantes:
no System.Web.Routing.RouteCollection.GetRouteData (HttpContextBase httpContext) em Mvc.Mailer.MailerBase.CreateControllerContext () em Mvc.Mailer.MailerBase.ViewExists (String viewName, String masterName) em Castle.Proxies.Invocations. () em Castle.DynamicProxy.AbstractInvocation.Proceed ()
A questão é que meu HttpContext é nulo - existe uma maneira simples de testar a unidade esse método MvcMailer sem precisar zombar de tudo, desde o contexto do controlador até os resultados da rota?