У меня есть метод, который возвращает
return new System.Web.Mvc.JsonResult()
{
Data = new
{
Status = "OK",
}
}
Мне нужно написать unit test, где мне нужно проверить, что jsonResult.Data.status= "OK"
.
Как узнать свойство статуса?
Обновление: Я попробовал [сборка: 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);