Tôi có một phương thức trả vềCách đọc thuộc tính của một loại ẩn danh?
return new System.Web.Mvc.JsonResult()
{
Data = new
{
Status = "OK",
}
}
tôi cần phải viết một bài kiểm tra đơn vị mà tôi cần phải xác minh rằng jsonResult.Data.status= "OK"
.
Làm cách nào để đọc thuộc tính trạng thái?
Cập nhật: Tôi đã thử [assembly: InternalsVisibleTo ("TestingAssemblyName")], nhưng điều đó không giúp ích gì. Tôi đã nhận được lỗi {"'System.Web.Mvc.JsonResult' không chứa định nghĩa cho 'Trạng thái'"}
Bên cạnh đó, tôi cho rằng tôi không muốn sửa đổi mã mà tôi đang thử nghiệm.
Vì vậy, tôi đã lấy lời khuyên của Jon và sử dụng sự phản chiếu.
var type = jsonResult.Data.GetType();
var pinfo = type.GetProperty("Status");
string statusValue = pinfo.GetValue(jsonResult.Data,null).ToString();
Assert.AreEqual("OK", statusValue);
Trong một MS Unit Test hoặc Javascript? –
Nếu bạn đang làm điều này từ C#, bạn chỉ có thể sử dụng 'năng động' và để cho các chất kết dính năng động chăm sóc nó. – vcsjones
kiểm tra đơn vị gallio. Những gì tôi đang cố gắng là Assert.AreEqual ("OK", jsonResult.Data.Status) – developer747