我在类库中定义了一个类,如下所示:
Classlib1-客户端
public class client{
[Required]
public string Firstname {get; set;}
...
[RegularExpression(@"^(?:\d{9}|\d{3}-\d{2}-\d{4}|)$")]
public string SocialSecurityNumber {get; set;}
}
我还有一个测试库,我想在其中确保我的RegularExpression属性验证有效。
Testlib
[TestMethod]
public void ThrowAnErrorOnSSNWithTooManyDigits(){
var client = new Client(){
Firstname = "Mickey",
...
SocialSecurityNumber = "1234567890123"
};
var vResults = new List<ValidationResult>();
var context = new ValidationContext(client){MemberName = "SocialSecurityNumber"};
var result = Validator.TryValidateProperty(client.SocialSecurityNumber, context, vResults);
Assert.IsFalse(result)
}
但是,我的断言总是失败,因为结果总是等于true。我尝试更改验证程序以验证所需的名字而不是SocialSecurityNumber,以为我的RegEx不太正确-但是,即使我设置Firstname =“”
,它也返回true要使Validator在Test类库中工作,我需要做什么?
答案 0 :(得分:0)
因此,在再次梳理我的项目时,我意识到我添加的Test项目实际上是针对.Net4.6的,而我的其余项目都针对.Net Core 2.0。
我添加了一个新的.NetCore测试项目,并在其中复制了所有测试,一切都按预期工作。