これが私の問題です - 私はMvcMailerを使用して、Razor 構文を使用して適切にフォーマットされた電子メールを作成しています。これは、そのために使用する優れたツールです!
私が直面している問題はこれです-これは私が送信した電子メールの1つに対する私のビューからのいくつかの構文です:
<p>Click here to return to <a href="@Url.Abs(Url.Action("Details", "Home", new{ Id=ViewBag.IdeaId}))">@ViewBag.IdeaName</a></p>
単体テストを実行しようとすると、次のエラー メッセージが表示されます。
新しいコメントの電子メール通知を送信できますか?: System.ArgumentNullException : 値を null にすることはできません。パラメータ名: httpContext
Stacktrace - 簡潔にするために短縮されています。関連するセクションのみ:
System.Web.Routing.RouteCollection.GetRouteData (HttpContextBase httpContext) で Mvc.Mailer.MailerBase.CreateControllerContext() で Mvc.Mailer.MailerBase.ViewExists (文字列 viewName、文字列 masterName) で Castle.Proxies.Invocations.MailerBase_ViewExists.InvokeMethodOnTarget ( ) Castle.DynamicProxy.AbstractInvocation.Proceed() で
問題は、私の HttpContext が null であることです。コントローラー コンテキストからルート結果まですべてをモックすることなく、この MvcMailer メソッドを単体テストする簡単な方法はありますか?