正如文章Unit test with Razor Generator所述,我们可以对视图进行单元测试(在某种程度上)。问题在于它说它忽略了部分代码,这些部分是真正自包含的代码,有利于单元测试。
如何在.cshtml
Html.RenderPartial(filePath, model)
文件中使用html作为html进行部分渲染?所以我可以模拟模型并断言生成的html。
答案 0 :(得分:1)
您可以使用独立的RazorViewEngine found here.完成此操作。这将允许您传入ViewModel并编译部分,并吐出一个html字符串。
然后,您可以使用另一个答案found here*中的代码来编译部分代码。
*
public class RazorEngineRender {
public static string RenderPartialViewToString<T>(string templatePath, string viewName, T model) {
string text = System.IO.File.ReadAllText(Path.Combine(templatePath, viewName));
string renderedText = Razor.Parse(text, model);
return renderedText;
}
}