gpt4 book ai didi

c# - 'System.Web.Mvc.ViewEngines' 的类型初始值设定项抛出异常

转载 作者:行者123 更新时间:2023-11-30 19:54:33 26 4
gpt4 key购买 nike

我正在尝试对具有 controllercontext 参数和更多发送电子邮件的 void 方法进行单元测试。电子邮件模板使用 View 引擎呈现部分 View 。我 mock 了controllercontext。因此呈现 View 抛出异常,因为 ControllerContext 具有空值。

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;
}

最佳答案

您只需通过 Nuget 包管理器在您的测试解决方案中安装 Microsoft.Asp.Net.WebPages 并尝试构建您的解决方案,然后您的单元测试就会正常工作。

enter image description here

关于c# - 'System.Web.Mvc.ViewEngines' 的类型初始值设定项抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41442968/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com