【问题标题】:Web api Unit testing for required fields present in json response对 json 响应中存在的必填字段进行 Web api 单元测试
【发布时间】:2016-05-31 06:52:18
【问题描述】:

我的一个 .Net web api 端点返回一个以下结构的 JSON 对象

    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; }
    }

如何以检查所有属性是否正确的方式实现单元测试方法?必填字段包含非空数据,可选字段至少包含空数据

    [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);
    }

所以我应该对所有属性都这样做还是更简单的方法

【问题讨论】:

    标签: c# json unit-testing asp.net-web-api


    【解决方案1】:

    您可以使用反射来检查所有属性并检查它们的值。另一种选择是使用fluent assertions 库 - 您可以创建具有预期值的对象并断言实际结果具有与预期相同的值。

    【讨论】:

      猜你喜欢
      • 2014-10-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-24
      • 1970-01-01
      相关资源
      最近更新 更多