私は、DataAnnotations と ASP.NET MVC3 を使用したプロジェクトに参加しています。このソリューションを使用して、「日付注釈」の検証をテストします: http://gcbyjm.blogspot.com.br/2011/02/how-to-unit-test-dataannotations.html
「ViewModel」のプロパティ「DateTime」をテストする際に問題があります。
public class AchievementVM
{
...
[Required(ErrorMessage = "The date field is required.")]
[DataType(DataType.DateTime, ErrorMessage = "Invalid date.")]
public DateTime Date { get; set; }
...
}
[TestMethod]
public void AchievementVMValidator_ShouldHaveErrorWhenDateIsInvalid()
{
// Arrange
var achievementVM = new AchievementVM() { Date = ???? };
// Act
var errors = ValidationBuddy.GetErrors(achievementVM) as List<ErrorInfo>;
// Assert
ErrorInfo error = errors.Find(delegate(ErrorInfo e) { return e.ErrorMessage == "The date field is required."; });
Assert.IsTrue(error != null);
}
私の質問は、このプロパティの値を渡して ModelBind ERROR をシミュレートする方法です。どちらの場合も、テキスト ボックスが空で、データが無効です。
どうもありがとう!