代码之家  ›  专栏  ›  技术社区  ›  Simon Keep

如何从单元测试中验证MVC视图模型?

  •  1
  • Simon Keep  · 技术社区  · 15 年前

    我正在编写单元测试来测试MVC应用程序。如何从单元测试中验证视图模型?

    2 回复  |  直到 15 年前
        1
  •  0
  •   Darin Dimitrov    15 年前

    如果使用数据注释进行验证,则可以 use reflection 测试是否存在验证属性。如果你用 FluentValidation 那么有点 more elegant .

        2
  •  0
  •   Simon Keep    15 年前

    如果您使用的是Castle验证器,那么您可以使用以下内容,然后模型可以像往常一样传递给控制器。

    var errors = CastleValidationRunner.Validate(model);
    
    // Add each error to the ModelState.
    foreach (var error in errors)
    {
            var propertyName = String.Format(CultureInfo.CurrentCulture, "{0}.{1}", typeof(TModel).Name, error.PropertyName);
            modelState.AddModelError(propertyName, error.ErrorMessage);
    }