有的時候我們需要對Razor最后生產的文本(HTML OR xml OR..)進行單元測試。
使用Nuget安裝RazorEngine。
新建一個ASP.NET MVC項目,并且帶有測試項目。
修改Index.cshtml
@using TestRazor.Models@model TestModel<div>This is a test page</div><div>Name @Model.Name </div><div>Age @Model.Age</div>
測試:
[TestClass] public class HomeControllerTest { [TestMethod] public void Index() { var config = new TemplateServiceConfiguration(); config.Debug = true; using (StreamReader sr = File.OpenText(@"E:/臨時/TestRazor/TestRazor/Views/Home/Index.cshtml")) { var template = sr.ReadToEnd(); using (var service = RazorEngineService.Create(config)) { var html = service.RunCompile(template, "test", null, new TestModel { Name = "kklldog", Age = 10 }); Assert.IsTrue(html.Contains("This is a test page")); Assert.IsTrue(html.Contains("Name kklldog")); Assert.IsTrue(html.Contains("Age 10")); Console.WriteLine(html); } } } }結果:

bingo!
新聞熱點
疑難解答