zoukankan      html  css  js  c++  java
  • 使用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:临时TestRazorTestRazorViewsHomeIndex.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!

  • 相关阅读:
    【html、CSS、javascript-9】jquery-选择器及过滤器
    【python之路40】Python 作用域
    H5缓存
    解决网络不可用--Using_Service_Workers
    跨域请求CORS
    基于node的websocket示例
    test
    函数节流
    ES6 promise
    web前端免费资源集
  • 原文地址:https://www.cnblogs.com/kklldog/p/4506414.html
Copyright © 2011-2022 走看看