2017-09-19 89 views
0

正如文章Unit test with Razor Generator狀態,我們就可以進行單元測試的觀點(在一定程度上)。問題是,它說,它忽略了諧音,這是一段代碼,真正獨立的,有利於單元測試。渲染剃刀諧音爲html

我該如何渲染爲一個.cshtml文件中使用的部分html,如Html.RenderPartial(filePath, model)?所以,我可以嘲笑模型,並斷言生成的HTML。

回答

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

}