2
由于有共同起订量2个接口具有相同的功能
public interface I1 { void Foo(string p);};
public interface I2 { void Foo(string p);};
一个功能2个接口,我们使用MOQ创建这两个接口的模拟
Mock<I1> menuServiceMock = new Mock<I1>();
menuServiceMock.As<I2>();
的问题是,当你调用foo I2
(menuServiceMock.Object as I2).Foo("foo"); // in real code, we have a handle on I2
你不能用验证:
menuServiceMock.Verify(x => x.Foo("foo"), Times.Once());
...因为只有对I1 :: Foo的调用才被计数。
我们该如何克服这一点(除了在模拟构造中反转I1和I2)?
从来没有注意到的是,“由于”函数返回的东西:) – sthiers