Тестирование ModelState всегда допустимо в asp.net mvc

При тестировании действий моего контроллера ModelState всегда действителен.

public class Product
{
    public int Id { get; set; }

    [Required]
    [StringLength(10)]
    public string Name { get; set; }

    [Required]
    public string Description { get; set; }

    [Required]
    public decimal Price { get; set; }
}

И мой контролер.

public class ProductController : Controller
{
      [HttpPost]
      public ActionResult Create(Product product)
      {
            if (ModelState.IsValid)
            {
                   // Do some creating logic...
                   return RedirectToAction("Display");
            }

             return View(product);              
      }
 }

И тест:

[Test]
public TestInvalidProduct()
{
     var product = new Product();
     var controller = new ProductController();
     controller.Create(product);
     //controller.ModelState.IsValid == true
}

Почему modelState действительно, если у продукта нет названия, описания и цены?

23
задан gdoron is supporting Monica 17 November 2011 в 09:45
поделиться