我想单元测试一个具有controllercontext参数的无效方法以及一些发送电子邮件的方法。电子邮件模板使用视图引擎渲染部分视图我嘲笑controllercontext。所以渲染视图抛出一个异常,因为ControllerContext具有空值。'System.Web.Mvc.ViewEngines'的类型初始值设定项引发了一个异常
public static string RenderViewToString(ControllerContext context, string viewPath, object model, bool partial = false)
{
var viewEngineResult = partial ? ViewEngines.Engines.FindPartialView(context, viewPath) : ViewEngines.Engines.FindView(context, viewPath, null);
if (viewEngineResult == null)
throw new FileNotFoundException("View cannot be found.");
var view = viewEngineResult.View;
context.Controller.ViewData.Model = model;
var result = String.Empty;
using (var sw = new StringWriter())
{
var ctx = new ViewContext(context, view,
context.Controller.ViewData,
context.Controller.TempData,
sw);
view.Render(ctx, sw);
result = sw.ToString();
}
return result;
}
请张贴一些代码 – NicoRiff
没有人可以帮助你,如果你不提供你的代码。 – Sefe
@NicoRiff有我的代码 –