我正在使用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);
}
我是否需要做其他任何事情来设置测试中的模型验证?
谢谢,
本