Заглушка для ModelState.IsValid в ASP.NET MVC с использованием RhinoMock - PullRequest
1 голос
/ 22 июня 2011

Я хочу заглушить 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("", "") для аннулирования состояния модели?

С уважением

1 Ответ

3 голосов
/ 22 июня 2011

Для проверки правильности я обычно передаю действию модель, которая не проходит проверку, аналогично ответу Скотта Хансельмана здесь .

Если это не вариант, используйте controller.ModelState.AddModelError("", "").

...