0

如何模拟下面的界面?

interface IServiceClientAPI
    {

        ResponseData GetData(string userid,string orderid);
    }
4

1 回答 1

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

就是这样。问候。

于 2012-04-27T06:28:52.133 回答