我有一个返回的方法
return new System.Web.Mvc.JsonResult()
{
Data = new
{
Status = "OK",
}
}
我需要在需要验证的地方编写一个单元测试jsonResult.Data.status= "OK"
。
如何读取状态属性?
更新:我尝试了 [assembly: InternalsVisibleTo("TestingAssemblyName")],但这没有帮助。我一直收到错误{“'System.Web.Mvc.JsonResult'不包含'Status'的定义”}
此外,我认为我宁愿不修改我正在测试的代码。
所以我接受了乔恩的建议并使用了反思。
var type = jsonResult.Data.GetType();
var pinfo = type.GetProperty("Status");
string statusValue = pinfo.GetValue(jsonResult.Data,null).ToString();
Assert.AreEqual("OK", statusValue);