简体   繁体   English

使用最小起订量验证模型

[英]validate model using MOQ

I have a model (sample below) and would like to validate using MOQ. 我有一个模型(下面的示例),并希望使用最小起订量进行验证。

public class Employee{

 public string FirstName {get;set;}
 public string LastName {get;set;}

}

Would like to run following test cases 想运行以下测试用例

  1. FirstName and LastName is not empty 名字和姓氏不为空
  2. FirstName and LastName input length is not > 50 chars 名字和姓氏输入长度不大于50个字符

To be honest, I do not know anything about MOQ at all and thus did not try any option yet. 老实说,我对起订量一无所知,因此还没有尝试任何选择。

Moq is used in unit testing, it is used to mock fack instances to the system under test object, Moq用于单元测试,用于将fack实例模拟到测试对象下的系统,

You can validate object by implementing IValidatableObject , 您可以通过实现IValidatableObject来验证对象,

Try below code snippet, 试试下面的代码片段,

public class Employee : IValidatableObject
{

    public string FirstName { get; set; }
    public string LastName { get; set; }

    public IEnumerable<ValidationResult> Validate(ValidationContext validationContext)
    {
        var results = new List<ValidationResult>();

        if (string.IsNullOrEmpty(FirstName) || FirstName.Length > 50) {
            results.Add(new ValidationResult("Invalid first Name"));
        }

        if (string.IsNullOrEmpty(LastName) || LastName.Length > 50)
        {
            results.Add(new ValidationResult("Invalid last Name"));
        }

        return results;
    }
}

To validate object , 要验证对象,

 var toValidate = new Employee(){};

 var results = new List<ValidationResult>();


 bool isValid = Validator.TryValidateObject(
        toValidate,
        new ValidationContext(toValidate, null, null),
        results,
        true);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM