好きな場合、2つの設定が交差したり重なったりするとどうなりますか?MOQメソッドの設定が交差するとどうなりますか?
たとえば、明らかに"aSpecificString"
は任意の文字列と見なされるため、以下のシナリオではセットアップの重複が発生します。
Interface ISomeInterface
{
int SomeMethod(string param);
}
[TestMethod]
public void SomeClass_ShouldBehaveProperly_GivenSomeScenario()
{
var mock = new Mock<ISomeInterface>(MockBehavior.Strict);
mock.Setup(m => m.SomeMethod("aSpecificString"))
.Returns(100);
mock.Setup(m => m.SomeMethod(It.IsAny<string>()))
.Returns(0);
/*the rest of the test*/
}
交差するとどうなるのだろうか。
例外をスローするか、重複を検出して最初に一致するセットアップを追加した順に使用しませんか?
セットアップが重複しないようにすることをお勧めします。
...あなたは重要なコードを下ろし始めた前に私はあなたに到達するために管理したいと考えています。最後のコールが勝ち、以前のコールを無効にします。 – Nkosi