【问题标题】:Interface as controller method parameter in ASP.NET MVC接口作为 ASP.NET MVC 中的控制器方法参数
【发布时间】:2012-06-16 14:00:30
【问题描述】:

我有一个控制器方法,它接受几个输入参数(字符串、整数等)。因为我不想在这个方法中声明每个参数,所以我创建了一个具有映射到这个参数的属性的类,现在这个方法的唯一参数是这个类的一个实例。调用该方法时,对象的属性会根据参数名称填充参数值。

现在我想对这个方法进行单元测试;所以我想将这个类的模拟发送到该方法。起初我创建了一个类的模拟并将其发送给方法;它工作得很好,除了我必须用 virtual 关键字标记我想在 mock 中设置的所有属性,以便 mock 框架可以访问它。
因此,我认为我可以创建一个此类实现的接口,但无法将该接口作为参数发送给控制器方法。

是否可以手动将输入参数绑定到对象的属性?例如,通过控制器的构造函数注入接口,然后触发将输入值手动绑定到属性?

我正在使用 ASP.NET MVC 3。

【问题讨论】:

  • 你能分享一些代码吗?

标签: asp.net-mvc-3


【解决方案1】:

如果我理解,您正在尝试测试控制器并需要使用模型类的模拟。

我的第一个想法是,为什么不能只使用模型类的实际实例?

大概您的模型类具有您想要隔离的依赖项或副作用...

在这种情况下,可能是模型类做的太多了?

【讨论】:

    猜你喜欢
    • 2011-08-05
    • 1970-01-01
    • 2011-04-03
    • 2012-03-19
    • 1970-01-01
    • 2019-01-26
    • 1970-01-01
    • 2022-08-22
    • 2016-05-28
    相关资源
    最近更新 更多