2

希望你好。

我正在使用 C# 中的 Moq 创建一些测试。我正在模拟的对象之一已覆盖 ==、> 和 < 运算符。

有谁知道它是否可能,如果可能,如何...配置一个 Mock 对象来复制它。我问的原因是我试图注入一个模拟存根作为我得到的一些遗留代码,这些代码具有深层和肮脏的依赖关系。

感谢您的时间

谢谢

4

1 回答 1

2

当您覆盖此类操作时,您还应该提供它们的命名等效项。如果您以这种方式重新编写代码,则模拟它会更容易。

public static bool operator ==(SomeType a, SomeType b)
{
    return a.Equals(b);
}

public virtual bool Equals(SomeType b)
{
   // yours logic here
   return base.Equals(b)
}
于 2012-08-10T09:04:40.783 回答