使用ExposedObject对Asp.net MVC中匿名类型的JsonResult做单元测试
2013-08-11 16:02 JustRun 阅读(1509) 评论(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(包含链接)。如您有任何疑问或者授权方面的协商,请给我留言。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库