使用ExposedObject对Asp.net MVC中匿名类型的JsonResult做单元测试
2013-08-11 16:02 JustRun 阅读(1502) 评论(1) 编辑 收藏 举报返回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); }
本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名justrun(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。