我是新手使用moq。我正在为ASP.Net MVC2项目创建一些单元测试用例。在一个控制器中,我有一个代码,
if(ModelState.IsValid){ ...... ...... }
我试图以这种方式在我的测试方法中模拟它..
var modelState = new Mock<ModelStateDictionary>();
modelState.Setup(x => x.IsValid).Returns(true);
但问题是我一直运行测试方法ModelState.Isvalid
返回false。
问题是我只能处理我的测试项目。我无权对我的ASP.Net mvc2项目进行任何更改。你们中的任何人都知道这样做吗?三江源。
答案 0 :(得分:1)
您可以做的是向ModelState
添加模型错误,例如:
var controller = new YourController();
controller.ModelState.AddModelError("An error");
这两行IsValid
应为假。