Moqがオブジェクトに対して.Equalsメソッドを設定する方法を理解できません。次のアサーションは失敗します。Moq - 偽を返す.Equalsメソッドを設定します。
var Song = new Mock<ISong>();
Song.Setup(x => x.Equals(Song.Object))
.Returns(false);
Assert.IsFalse(Song.Object.Equals(Song.Object));
つまり、Song.Object.Equals(Song.Object)
は常にtrueを返します。
.Equals
の方法をMoq
と偽装することは可能ですか?私は何が欠けていますか?
Song.Equalsではなく、Song.Object.Equalsの設定をしています。 Song.Equals(Song.Object)をテストすると、falseを返します。 –
さて、何を待っていますか? Mock.Objectを実際のモックとして使って、すべてのテストを書いた。それは他のすべての30以上のテストでも機能しました。なぜこれで失敗するのですか?編集:それは実際に彼らが最初のチュートリアルのエントリに表示されます:https://github.com/moq/moq4 – aspyct
申し訳ありませんが、あなたは正しいです。私はあなたと同じことをして、同じ結果を得ました。私のISongインターフェースに "bool Equals(object obj)"を追加すると、それはうまくいく...私には意味がある...あなたが私にしたいなら、私は答えで詳しく述べることができる。 –