【问题标题】:Stub for ModelState.IsValid in ASP.NET MVC using RhinoMockASP.NET MVC 中 ModelState.IsValid 的存根使用 RhinoMock
【发布时间】:2011-06-22 12:13:06
【问题描述】:

我想存根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("", "") 使模型状态无效?

问候

【问题讨论】:

    标签: c# asp.net-mvc-3 rhino-mocks


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-06-13
      • 2012-05-16
      • 2011-02-22
      • 1970-01-01
      • 2012-04-11
      • 2018-02-16
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多