2

うまくいきますように。

C# で Moq を使用していくつかのテストを作成中です。私がモックしているオブジェクトの 1 つは、==、>、および < 演算子をオーバーライドしています。

それが可能かどうかは誰にもわかりますか?もしそうなら...これを複製するようにモックオブジェクトを構成する方法はありますか? 私が尋ねる理由は、私が与えられた、深く汚い依存関係を持ついくつかのレガシーコードとして、モックされたスタブを挿入しようとしているからです。

あなたの時間を大切にします

ありがとう

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 に答える