返回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); }