如何模拟下面的界面?
interface IServiceClientAPI
{
ResponseData GetData(string userid,string orderid);
}
您可以模拟您的界面,如下所示:
[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。
就是这样。问候。