私はASP.NET MVC 2アプリケーションに取り組んでおり、Viewmodelsをテストしています
[TestMethod]
public void EmailNeedsToBeSet()
{
var pvm = new ProfileViewModel {Email = ""};
var validationResults = new ValidationResults();
var result = Validator.TryValidateObject(pvm, new ValidationContext(pvm, null, null), validationResults, true);
Assert.IsFalse(result);
Assert.IsTrue(validationResults.ContainsField<ProfileViewModel>(m => m.Email));
}
Email プロパティは必須で、このテストメソッドは正常に機能します
私の質問は次のとおりです: 前のテストのように MetaData クラスをテストするにはどうすればよいですか? 検証結果は常に true です。それとも、これは不可能ですか?
私の MetaData クラスの例:
[MetadataType(typeof (UserMetaData))]
public partial class User
{
public class UserMetaData
{
[Required(ErrorMessageResourceName = "Required",
ErrorMessageResourceType = typeof (ValidationStrings))]
[LocalizedDisplayName("LoginName", NameResourceType = typeof (Fields))]
[StringLength(64)]
public string Login { get; set; }
}
}