MOQ:嘲笑界面?

时间:2012-04-27 05:54:03

标签: mocking moq

我如何模仿下面的界面?

interface IServiceClientAPI
    {

        ResponseData GetData(string userid,string orderid);
    }

1 个答案:

答案 0 :(得分:1)

你可以像下面这样嘲笑你的界面:

[TestMethod]
public void SomeMethod_SomeScenarioWhichYourAreTesting_ExpectedResult()
{
    // Arrange
    var mockServiceClientApi = new Mock<IServiceClientAPI>();
    var responseData = new ResponseData(); // Add any necessary initialization to this member
    mockServiceClientApi.Setup(m => m.GetData(It.IsAny<string>(), It.IsAny<string>()).Returns(responseData).Verifiable();

    var someObject = new SomeObject(mockServiceClientApi.Object);

    // Act
    var result = someObject.DoSomething();

    // Assert
    mockServiceClientApi.Verify();
}

在上面的代码中,我编写了一个测试方法(可以使用MSTest)。基本上,您首先需要准备模拟对象并设置您希望方法调用的任何方法。

在开始时使用模拟工具编程可能会很奇怪,但是一旦掌握了它,你就会发现它有多么宝贵。您应该首先尝试了解单元测试,然后您将更好地了解模拟API的情况。为此我建议你看看Roy Osherove的The Art of Unit Testing

就是这样。问候。