ASP.NET MVC 4测试控制器

时间:2012-10-07 07:18:40

标签: .net asp.net-mvc asp.net-mvc-4

我有一个简单的动作:

[HttpPost]
public virtual ActionResult AddVote(string id, sbyte value)
{
   //...
   if (somethingIsWrong)
      ModelState.AddModelError("", "SomethingIsWrong");
   //...
}

现在我想测试ModelState是否有效:

[Fact]
public void AddVotePostTest()
{
   var controller = new VoteController();
   controller.AddVote("someId", 1);

   Assert.True(controller.ModelState.IsValid); //AccessViolationException here
}

但是我在调​​用controller.ModelState.IsValid的时候得到了AccessViolationException。

1 个答案:

答案 0 :(得分:1)

错误是由我的测试项目中引用System.Web.Mvc 3引起的。我引用了System.Web.Mvc 4并且问题已经消失了