2016-05-31 129 views
0

一個我的.NET Web API端點返回下面的結構法網絡API單元測試

public class UserModel 
    { 
     public int StudentID { get; set; } 
     public int ClassID { get; set; } 
     public string ClassName { get; set; } 
     public int TestLevelID { get; set; } 
     public string Firstname { get; set; } 
     public string Lastname { get; set; } 
     public string Email { get; set; }   
     public int? Active { get; set; } 
     public string Displayname { get 
      { 
       return Firstname + " " + Lastname; 
      } 
     } 
     public List<TestSummary> CourseSummary { get; set; } 
    } 

    public class TestSummary 
    { 
     public string Coursename { get; set; } 
     public int Progressvalue { get; set; } 
    } 

如何實現在檢查所有的方式單元測試方法的JSON對象屬性是否正確?必填字段包含非空數據和可選字段至少包含空

[TestMethod] 
    public void GetStudent() 
    { 
     var service = new StudentDbHandler(); 
     var students = service.GetStudents(1).ToList(); 
     bool _exists = false; 
     if (students.Count > 0) 
     { 
      _exists = true; 
     } 
     Assert.IsTrue(_exists); 
     //now checls first name is not null 
     Assert.IsNotNull(students.FirstOrDefault().Firstname); 
    } 

所以我應該爲所有屬性做到這一點還是

回答

0

您可以使用反射來遍歷所有的屬性和檢查任何更簡單的方法自己值。另一個選擇是使用fluent assertions庫 - 您可以創建具有期望值的對象並聲明實際結果具有與預期相同的值。