これがシナリオです:
interface IFather
{
void A();
}
interface ISonA : IFather
{
void B();
}
そして私はIFatherのデフォルトの実装を持っています
private class Father : IFather
{
public void A()
{
//default behaviour
}
}
父によって提供されたデフォルトの動作でISonA(またはIFatherを実装する他のISon)をモックすることは可能ですか?私はこのようなことをしたいと思います:
var mock = new Mock<ISonA>(typeof(Father));
//with A nothing, use default behaviour
//mock.Setup(x => x.A()).Callback(() => /*something*/);
mock.Setup(x => x.B()).Callback(() => /*something*/);
typeof(Father)は、MockにISonA拡張Fatherを内部的に実装するように指示する方法です。現在、これを実現する唯一の方法は、自分のSonAクラスをモックする代わりに使用することです。