Unit testing XamarinWeb服务单元测试
您能建议如何在xamarin表单中为web服务编写单元测试吗?我在运行时遇到了一个错误Unit testing XamarinWeb服务单元测试,unit-testing,xamarin,Unit Testing,Xamarin,您能建议如何在xamarin表单中为web服务编写单元测试吗?我在运行时遇到了一个错误 [TestFixture()] public class LeadRepositoryTest { private Mock<ILeadWebService> mockLeadWebService { get; set; } private Mock<ILeadDatabaseService> mockLeadDatabaseSe
[TestFixture()]
public class LeadRepositoryTest
{
private Mock<ILeadWebService> mockLeadWebService { get; set; }
private Mock<ILeadDatabaseService> mockLeadDatabaseService { get; set; }
private LeadService leadRepository { get; set; }
public LeadRepositoryTest()
{
var repository = new MockRepository(MockBehavior.Default) { DefaultValue = DefaultValue.Empty };
mockLeadWebService = repository.Create<ILeadWebService>().As<ILeadWebService>();
mockLeadDatabaseService = repository.Create<ILeadDatabaseService>().As<ILeadDatabaseService>();
mockLeadWebService.Setup(x => x.GetNormalLeads(CommonMockData.GetLeadRequestParams())).Returns(Task.FromResult(OperationResult.CreateSuccessResult(new GetLeadsApiResponseDTO())));
leadRepository = new LeadService(mockLeadDatabaseService.Object, mockLeadWebService.Object, null, null);
}
[Test()]
public async void GetNormalLeads_WebServiceIsNotNull()
{
//Arrange
var parameters = new LeadRequestParams()
{
Offset = 0,
Limit = 20,
PageName = "Today",
};
//Act
var operationResult = await leadRepository.GetNormalLeads(parameters);
//Assert
Assert.IsNotNull(operationResult?.Data);
}
},
[TestFixture()]
公共类LeadRepositoryTest
{
私有模拟mockLeadWebService{get;set;}
私有模拟mockLeadDatabaseService{get;set;}
私有LeadService leadRepository{get;set;}
公共领导地位测试()
{
var repository=newmockrepository(MockBehavior.Default){DefaultValue=DefaultValue.Empty};
mockLeadWebService=repository.Create().As();
mockLeadDatabaseService=repository.Create().As();
mockLeadWebService.Setup(x=>x.GetNormalLeads(CommonMockData.GetLeadRequestParams()).Returns(Task.FromResult(OperationResult.CreateSuccessResult(new GetLeadsApiResponseDTO()));
leadRepository=新的LeadService(mockLeadDatabaseService.Object,mockLeadWebService.Object,null,null);
}
[测试()]
public异步void GetNormalLeads\u webservicesnotnull()
{
//安排
var参数=新的LeadRequestParams()
{
偏移量=0,
限值=20,
PageName=“今天”,
};
//表演
var operationResult=await leadRepository.GetNormalLeads(参数);
//断言
Assert.IsNotNull(operationResult?.Data);
}
},
我认为您真正需要的是:
var mockLeadRepository = new Mock<ILeadService>();
mockLeadRepository.Setup(x => x.GetNormalLeads(It.IsAny<Object>())).Returns(Task.FromResult(OperationResult.CreateSuccessResult(new GetLeadsApiResponseDTO())));
leadRepository = mockLeadRepository.Object;
var mockLeadRepository=new Mock();
mockLeadRepository.Setup(x=>x.GetNormalLeads(It.IsAny())).Returns(Task.FromResult(OperationResult.CreateSuccessResult(new-GetLeadsApiResponseDTO()));
leadRepository=mockLeadRepository.Object;
你能提供你的错误吗?应用程序崩溃如下图所示。没有,只有测试用例在你的构造函数和测试方法的第一行设置断点。已经完成了,但是你能给我提供任何示例吗shashikant0423@gmail.com