ModelState.Is的Stub在使用RhinoMock的ASP.NET MVC中有效

本文关键字:NET ASP MVC 有效 RhinoMock Is Stub ModelState | 更新日期: 2023-09-27 18:00:05

我想存根ModelState.IsValid,所以我使用以下构造:

SomeController controller = MockRepository.GenerateStub<SomeController>();
controller.Stub(x => x.ModelState.IsValid).Return(false);

调用后,我得到:

System.InvalidOperationException: Invalid call, the last call has been used or no call has been made (make sure that you are calling a virtual (C#) / Overridable (VB) method).

为什么抛出此异常,以及如何存根ModelState.IsValid?我必须这样做吗:controller.ModelState.AddModelError("", "")用于使模型状态无效?

问候

ModelState.Is的Stub在使用RhinoMock的ASP.NET MVC中有效

对于测试验证,我通常将验证失败的模型传递给操作,类似于Scott Hanselman在这里的回答。

如果这不是一个选项,那么使用controller.ModelState.AddModelError("", "")