zoukankan      html  css  js  c++  java
  • 使用ExposedObject对Asp.net MVC中匿名类型的JsonResult做单元测试

    返回JsonResult是MVC中的常见返回值类型,而且简单方便的方式是结合匿名类型一起使用。

    比如:

    public ActionResult PreviewEmail()
    {
        ……
        return Json(new { HtmlContent = htmlContent, Title = title }, JsonRequestBehavior.AllowGet);
    }

    下面讨论一下,针对这个函数,如何单元测试。

    ExposedObject可以通过Nuget下载安装,介绍中已经说明了它的主要用处: 快速包装一个对象成dynamic,可以方便的访问对象的隐藏field和方法。

    这里的隐藏应该主要是棘手的private, protected, internal等。

    实际使用ExposedObject完成单元测试过程:

    [TestMethod]
    public void PreviewEmail_Test()
    {
        ……..
        Assert.IsInstanceOfType(result, typeof(JsonResult));
    
        var jsonResult = result as JsonResult;
        var data = Exposed.From(jsonResult.Data);
        Assert.AreEqual("Email Title", data.Title);
        Assert.AreEqual("The email body", data.HtmlContent);
    }
  • 相关阅读:
    springAOP实现原理
    cglib用法
    git 用法
    java基础算法之快速排序
    记一次与a标签相遇的小事
    java设计模式之建造者模式
    HashMap源码分析
    Linux下安装nginx
    java设计模式之策略模式
    java设计模式之中介者模式
  • 原文地址:https://www.cnblogs.com/JustRun1983/p/3251426.html
Copyright © 2011-2022 走看看