Я использую DataAnnotations для проверки моей модели, т.е.
[Required(ErrorMessage="Please enter a name")]
public string Name { get; set; }
В своем контроллере я проверяю значение ModelState. Это правильно возвращает false для недопустимых данных модели, опубликованных с моей точки зрения.
Однако при выполнении модульного теста действия моего контроллера ModelState всегда возвращает true:
[TestMethod]
public void Submitting_Empty_Shipping_Details_Displays_Default_View_With_Error()
{
// Arrange
CartController controller = new CartController(null, null);
Cart cart = new Cart();
cart.AddItem(new Product(), 1);
// Act
var result = controller.CheckOut(cart, new ShippingDetails() { Name = "" });
// Assert
Assert.IsTrue(string.IsNullOrEmpty(result.ViewName));
Assert.IsFalse(result.ViewData.ModelState.IsValid);
}
Нужно ли мне делать что-то еще, чтобы настроить проверку модели в моих тестах?
Спасибо,
Бен