2012-11-03 9 views

答えて

15

あなたは、あなたの.SetupXXX()/VerifyXXX()メソッドを呼び出すことができた上で生成Mock<T>を返しますMoqMockingKernelGetMock<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プロパティを使用します。

+0

ありがとうございます! MoqMockingKernelではなく、MoqModuleなどに集中しました。 – larsw

関連する問題