2016-05-31 140 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库 - 您可以创建具有期望值的对象并声明实际结果具有与预期相同的值。