首页 > Web开发 > 详细

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

时间:2015-05-15 19:17:47      阅读:211      评论:0      收藏:0      [点我收藏+]

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

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

原文:http://www.cnblogs.com/kklldog/p/4506414.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!