【问题标题】:Virtual methods still required when using Moq?使用 Moq 时仍需要虚拟方法吗?
【发布时间】:2012-11-24 06:09:22
【问题描述】:

我们正在使用 Moq,我想知道 virtual 方法在其中的当前作用 - 在下面 2008 年的帖子中,很明显您必须将方法标记为虚拟才能使 Moq 工作(或从接口继承。)

Moq discussion

但是,在 .Net 4.5 中是否仍然需要在要模拟的类中使用 virutal 方法?当您围绕静态方法创建包装器类时,这是否也适用——包装器类要么继承自接口,要么需要将相关方法标记为virtual

【问题讨论】:

    标签: moq virtual-functions


    【解决方案1】:

    这在 .NET 4 或 4.5 中没有改变。正如您提供的链接所解释的,Moq 使用 Castle Windsor Dynamic Proxy 生成从您希望模拟的类型派生的类型。因此,继承的标准规则适用。 Moq 生成的派生类型只能拦截对任何普通派生类可以覆盖的方法的调用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多