您好我有一个测试方法是尝试使用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;
答案 0 :(得分:0)
假设您正在使用VS,我发现单元测试存在类似问题,其中某些对象在单元测试场景中很难复制。 https://marketplace.visualstudio.com/items?itemName=OmarElabd.ObjectExporter 我尝试过使用此工具,您可以在调试时使用此工具,它会占用您在&#34; autos&#34;中看到的任何对象。选项卡,您可以将其发送到可以包含在单元测试中的c#或xml对象。