単体テストしたい依存関係を持つ抽象クラスがあります。
public abstract class BaseClass
{
public BaseClass(IDependency dep) { ... }
public virtual void TestMethod() { ... }
...
}
NInject のMockingKernelを使用してこのクラスをテストしたいので、次のようにまとめました。
using (var k = new MoqMockingKernel())
{
k.Bind<IDependency>().ToMock();
k.Bind<BaseClass>().ToMock();
k.GetMock<BaseClass>().CallBase = true;
var sut = k.Get<BaseClass>();
sut.TestMethod();
k.GetMock<BaseClass>().Verify(...);
}
しかし、私は問題に直面しています。モック化された IDependency を渡すのではなく、部分的な BaseClass モックを作成するパラメーターなしのコンストラクターを探しています。
sourceを見ると、 MockingKernel は作成時にモックに引数を渡すことはないようです。
MockingKernel で部分モックを作成する方法はありますか?