モデルの検証に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);
}
テストでモデル検証を設定するために何か特別なことをする必要がありますか?
ありがとう、
ベン