【发布时间】:2011-06-04 14:26:02
【问题描述】:
我的 ASP.NET MVC2 应用程序中的一个操作方法返回一个 JsonResult 对象,在我的单元测试中,我想检查返回的 JSON 对象是否确实包含预期值。
我试过了:
1. dynamic json = ((JsonResult)myActionResult).Data;
2. Assert.AreEqual(JsonMessagesHelper.ErrorLevel.ERROR.ToString(), json.ErrorLevel);
但我得到一个 RuntimeBinderException“'object' 不包含 'ErrorLevel' 的定义”。
但是,当我在第 2 行放置断点并检查 json 动态变量(见下图)时,它显然 确实 包含 ErrorLevel 字符串并且它具有预期值,所以如果运行时活页夹玩得不好笑,测试会通过。
我没有得到什么?我做错了什么,我该如何解决?如何使断言通过?
【问题讨论】:
标签: c# unit-testing json asp.net-mvc-2 dynamic