我正在使用 DataAnnotations 中的 RegularExpressionAttribute 进行验证,并想测试我的正则表达式。有没有办法在单元测试中直接调用属性?
我希望能够做类似这样的事情:
public class Person
{
[RegularExpression(@"^[0-9]{3}-[0-9]{3}-[0-9]{4}$")]
public string PhoneNumber { get; set; }
}
然后在单元测试中:
[TestMethod]
public void PhoneNumberIsValid
{
var dude = new Person();
dude.PhoneNumber = "555-867-5309";
Assert.IsTrue(dude.IsValid);
}
甚至
Assert.IsTrue(dude.PhoneNumber.IsValid);
最佳答案
我最终使用了来自 DataAnnotations 命名空间的静态 Validator 类。我的测试现在看起来像这样:
[TestMethod]
public void PhoneNumberIsValid()
{
var dude = new Person();
dude.PhoneNumber = "666-978-6410";
var result = Validator.TryValidateObject(dude, new ValidationContext(dude, null, null), null, true);
Assert.IsTrue(result);
}
关于c# - 如何调用验证属性进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5354894/