繁体   English   中英

C#-来自服务客户端的模拟单元测试

[英]C# - Mock Unit Test From Service Client

嗨,我有一种测试方法正在尝试使用Visual Studio从本地ServiceClient模拟单元测试

[TestMethod()]
public void IsSuccess_ThanAllocateFund()
{
    string FundCode ="CodeABC123";   
    bool isAvailable = CheckFundAvialable(FundCode);
    bool result = db.AddFund("UserHaskins",FundCode);
    Assert.AreEqual(isAvailable, result);
}

首先,它正在检查资金。 如果有资金,它将使用以下方法向用户添加资金

public bool CheckFundAvialable(FundCode)
{
    bool isAvailable =true;
    FundAvailableServiceClient _PartAvailabilityService = new FundAvailableServiceClient()
    int _Available = _FundAvailableService.GetAvailability(FundCode);
    if (_Available <= 0) {
     isAvailable = false;
    }
    return isAvailable;
}

我的ServiceClint方法如下

public partial class FundAvailibilityServiceClient : System.ServiceModel.ClientBase<MyProject.IFundAvailibilityService>,
MyProject.IFundAvailibilityService
{
    public int GetAvailability(string stockCode)
    {
        return base.Channel.GetFundAvailibility(FundCode);
    }

}

并添加到数据库; 但是我试图嘲笑

public bool AddFund(string UserName, string FundCode)
{ 
  // Database add / Insert
  return true;  
}

现在我的问题是,如何在单元测试中为ClientService做Mock。

假设您使用的是VS,我在单元测试中发现了一个类似的问题,其中某些对象在单元测试场景中确实很难复制。 https://marketplace.visualstudio.com/items?itemName=OmarElabd.ObjectExporter我尝试使用此工具进行调试时可以使用该工具,它将占用您在“汽车”中看到的任何对象选项卡,然后可以将其发送到可以包含在单元测试中的ac#或xml对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM