c# - 模拟 Moq C# 中运算符的行为

标签 c# mocking moq moq-3

祝你一切顺利。

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

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

非常感谢您的宝贵时间

谢谢

最佳答案

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

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)
}

关于c# - 模拟 Moq C# 中运算符的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11898447/

相关文章:

mocking - 如何验证链式方法调用?

c# - "Any"对象上的 MOQ stub 属性值

c# - Azure AD B2C - URL 错误

c# - 在 Windows 8 CP 中设置所选 ListViewItem 的样式

java - 我的 android xxxhdpi 模拟器显示黑屏

c# - 为什么这种简单的风格不适用?

tdd - 断言一个方法只被调用一次

java - 验证临时对象是否已创建

c# - Moq、抽象类和虚拟属性

c# - C# 中的最小起订量事务范围