你的位置:首页 > ASP.net教程

[ASP.net教程]使用RazorEngine对ASP.NET MVC的Views进行UnitTest


有的时候我们需要对Razor最后生产的文本(HTML 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!