这是我的问题 - 我正在使用MvcMailer使用 Razor 语法创建格式良好的电子邮件,这是一个很好的工具!
我遇到的问题是 - 这是我发送的其中一封电子邮件的视图中的一些语法:
<p>Click here to return to <a href="@Url.Abs(Url.Action("Details", "Home", new{ Id=ViewBag.IdeaId}))">@ViewBag.IdeaName</a></p>
每当我尝试运行单元测试时,都会收到以下错误消息:
我们可以为新评论发送电子邮件通知吗?:System.ArgumentNullException:值不能为空。参数名称:httpContext
Stacktrace - 为简洁起见缩短,仅相关部分:
在 System.Web.Routing.RouteCollection.GetRouteData(HttpContextBase httpContext) 在 Mvc.Mailer.MailerBase.CreateControllerContext() 在 Mvc.Mailer.MailerBase.ViewExists(String viewName, String masterName) 在 Castle.Proxies.Invocations.MailerBase_ViewExists.InvokeMethodOnTarget( ) 在 Castle.DynamicProxy.AbstractInvocation.Proceed()
问题是我的 HttpContext 是空的 - 有没有一种直接的方法来单元测试这个 MvcMailer 方法,而不必从控制器上下文一直到路由结果模拟所有内容?