我正在使用DataAnnotations进行模型验证,即
[Required(ErrorMessage="Please enter a name")]
public string Name { get; set; }
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,我正在检查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);
}
Run Code Online (Sandbox Code Playgroud)
在测试中我是否需要做额外的事情来设置模型验证?
谢谢,
本
我怎么测试Controller.ViewData.ModelState
?我宁愿没有任何模拟框架.