10
MockingKernel
の内部で生成されたMock<T>
の.SetupXXX()
コールを実行する方法を理解しようとするのは本当に苦労しています。それがどのように働くはずですかについて何らかの光を当てることができる人は誰ですか?NinjectのMockingKernel(moq)でモックをセットアップする
MockingKernel
の内部で生成されたMock<T>
の.SetupXXX()
コールを実行する方法を理解しようとするのは本当に苦労しています。それがどのように働くはずですかについて何らかの光を当てることができる人は誰ですか?NinjectのMockingKernel(moq)でモックをセットアップする
あなたは、あなたの.SetupXXX()/VerifyXXX()
メソッドを呼び出すことができた上で生成Mock<T>
を返しますMoqMockingKernel
にGetMock<T>
メソッドを呼び出す必要があります。ここで
GetMock<T>
使用方法を示す例ユニットテストです:
[Test]
public void Test()
{
var mockingKernel = new MoqMockingKernel();
var serviceMock = mockingKernel.GetMock<IService>();
serviceMock.Setup(m => m.GetGreetings()).Returns("World");
var sut = mockingKernel.Get<MyClass>();
Assert.AreEqual("Hello World", sut.SayHello());
}
関与タイプは次のとおりです
:あなたが好む場合は、(生成されたMoq.MockRepository
にアクセスすることができます
public interface IService { string GetGreetings(); }
public class MyClass
{
private readonly IService service;
public MyClass(IService service) { this.service = service; }
public string SayHello()
{
return string.Format("Hello {0}", service.GetGreetings());
}
}
注意SetupXXXメソッド経由で)MoqMockingKernel.MockRepository
プロパティを使用します。
ありがとうございます! MoqMockingKernelではなく、MoqModuleなどに集中しました。 – larsw