私は依存性の注入と制御の反転にNinjectを使用しており、テスト目的でMoqを非常にうまく使用しています。しかし、最近、Ninjectのファクトリエクステンションを使い始める必要がある立場になりました。
私は次の行に沿ってコードを持っています:
interface IBarFactory
{
Bar CreateBar();
}
class Bar : IBar
{
...
}
class BarModule
{
public override void Load()
{
Bind<IBarFactory>().ToFactory();
}
}
class Tests
{
[Fact]
public void TestMethod()
{
var bar = new Mock<IBar>();
bar.Setup(b => b.DoSomething())
.Verifiable();
var barFactory = new Mock<IBarFactory>();
cryptoKeyFactoryMock.Setup(f => f.CreateBar())
.Returns(bar.Object)
.Verifiable();
var someOtherClass = new SomeOtherClass(barFactory.Object);
}
}
IBarFactoryモックにIBarモックオブジェクトを返そうとすると、CreateBar()メソッドがIBarタイプのオブジェクトではなくBarタイプのオブジェクトを予期しているため、エラーが発生します。
Ninject FactoryでMoqを使用して、より多くの成功を収めた人はいますか?