以下のインターフェースをモックするにはどうすればよいですか?
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をご覧になることをお勧めします。
それはそれについてです。よろしく。