·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 使用RazorEngine对ASP.NET MVC的Views进行UnitTest

使用RazorEngine对ASP.NET MVC的Views进行UnitTest

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

使用RazorEngine对asp.net MVC的Views进行UnitTest

有的时候我们需要对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!