2017-01-25 50 views
0

我正在自己的html幫手上工作。現在我想測試它。我選擇的方式是使用RazorEngine庫來編譯剃刀代碼並檢查結果。如何使用RazorEngine測試自定義html幫助

嗯,我已經開始與樣品象下面這樣:

string template = "<div>@Html.Raw('sdf')</div>"; 
Engine.Razor.AddTemplate("mytemplate", template); 
var r = Engine.Razor.RunCompile("mytemplate"); 

但我有在這種情況下,錯誤 - Additional information: Errors while compiling a Template.

我發現這個問題RazorEngine issues with @Html。但它看起來太舊了。

回答

0

Html.Raw不是Razor的一部分。您可以使用@Raw代替

例子:

var template = "<div>@Html.Raw(\"<strong>Bold!</strong>\")</div>"; 
template = template.Replace("@Html.Raw", "@Raw"); 
var r = Engine.Razor.RunCompile(template, "templateKey"); 
0

究竟是你想在這裏測試 - 什麼是你的HTML幫助做什麼?

執行單元測試對於HTML幫助器來說是非常直接的,HtmlHelper類接受一個ViewContext類,您可以訪問調用方法時寫入的流編寫器。所有你需要做的就是測試你的預期結果。

不需要創建RazorViewEngine實例,因爲您正在測試比您需要的範圍大得多的範圍。

這就是你需要做的事情:https://www.danylkoweb.com/Blog/the-ultimate-guide-to-unit-testing-in-aspnet-mvc-E2

相關問題