我正在使用DataAnnotations进行模型验证
using System.ComponentModel.DataAnnotations;
namespace MvcApplication2.Models
{
public class Fiz
{
[Required]
public string Name { get; set; }
[Required]
[RegularExpression(".+@..+")]
public string Email { get; set; }
[Required]
public string adress { get; set; }
[Required]
public string city { get; set; }
[Required]
public string gold { get; set; }
[Required]
public string father { get; set; }
}
}
// test class
[TestMethod]
public void EmailRequired()
{
var fiz = new Fiz
{
Email = "exemple"
};
Assert.IsTrue(ValidateModel(fiz).Count > 0);
}
private IList<ValidationResult> ValidateModel(object model)
{
var validationResults = new List<ValidationResult>();
var ctx = new ValidationContext(model, null, null);
Validator.TryValidateObject(model, ctx, validationResults, true);
return validationResults;
}
我想测试电子邮件的问题,但在这种情况下,我必须给fiz.Name; fiz.adress; .....
一个值任何解决方案? 认为
答案 0 :(得分:1)
答案 1 :(得分:0)
如果您确实要测试数据注释是否正确放置,则需要向每个字段提供数据(手动或使用某些第三方工具)。但是命中可能不是一个坏主意,因为你可以为每个整个对象创建一个测试并对validationResults
的内容进行断言;