【问题标题】:ASP.Net mvc2 ModelStateDictionary Isvalid mocking using MoqASP.Net mvc2 ModelStateDictionary Isvalid 使用 Moq 模拟
【发布时间】:2023-03-16 09:53:01
【问题描述】:

我刚开始使用起订量。我正在为 ASP.Net MVC2 项目创建一些单元测试用例。在其中一个控制器中,我有一个代码,

如果(模型状态.IsValid){ …… …… }

我试图以这种方式在我的测试方法中模拟它..

var modelState = new Mock<ModelStateDictionary>();
modelState.Setup(x => x.IsValid).Returns(true);

但问题是我一直运行测试方法ModelState.Isvalid 返回错误。 问题是我只能处理我的测试项目。我无权对我的 ASP.Net mvc2 项目进行任何更改。你们中有人有这样做的想法吗?谢谢。

【问题讨论】:

    标签: asp.net unit-testing asp.net-mvc-2 moq


    【解决方案1】:

    你可以做的是给ModelState添加一个模型错误,像这样:

    var controller = new YourController();
    controller.ModelState.AddModelError("An error");
    

    这两行IsValid 应该是假的。

    【讨论】:

    • 谢谢!但我想让它永远真实。你知道为什么它总是返回 false。
    • @user1448197,如果你没有添加任何模型错误,它不应该是假的。
    猜你喜欢
    • 2011-02-15
    • 2010-11-29
    • 2011-06-13
    • 2019-09-11
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多