我怎么测试Controller.ViewData.ModelState
?我宁愿没有任何模拟框架.
在测试我的控制器的动作时,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; }
}
Run Code Online (Sandbox Code Playgroud)
而我的控制器.
public class ProductController : Controller
{
[HttpPost]
public ActionResult Create(Product product)
{
if (ModelState.IsValid)
{
// Do some creating logic...
return RedirectToAction("Display");
}
return View(product);
}
}
Run Code Online (Sandbox Code Playgroud)
并测试:
[Test]
public TestInvalidProduct()
{
var product = new Product();
var controller = new …
Run Code Online (Sandbox Code Playgroud) DataAnnotations不适用于伙伴类.以下代码始终验证为true.为什么?
var isValid = Validator.TryValidateObject(new Customer(),Context,results,true);
这是好友班.
public partial class Customer
{
public string Name { get; set; }
public int Age { get; set; }
}
[MetadataType(typeof(CustomerMetaData))]
public partial class Customer
{
public class CustomerMetaData
{
[Required(ErrorMessage = "You must supply a name for a customer.")]
public string Name { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
这是另一个有相同问题的主题,但没有答案. 链接文字
silverlight asp.net-mvc .net-4.0 buddy-class data-annotations