我有一个简单的动作:
[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。
答案 0 :(得分:1)
错误是由我的测试项目中引用System.Web.Mvc 3引起的。我引用了System.Web.Mvc 4并且问题已经消失了