C# I';我正试图用refit和cqrs与.net和xunit一起测试我的httprequest

C# I';我正试图用refit和cqrs与.net和xunit一起测试我的httprequest,c#,asp.net,unit-testing,asp.net-core,xunit,C#,Asp.net,Unit Testing,Asp.net Core,Xunit,我很难测试我的应用程序,因为我不知道如何使用refit as http post和get进行测试,如下代码所示: public class GetMerchantListQueryHandler : IRequestHandler<GetMerchantListQuery, MerchantList> { private readonly IOptions<SalesforceSettings> _salesforceSettings;

我很难测试我的应用程序,因为我不知道如何使用refit as http post和get进行测试,如下代码所示:

    public class GetMerchantListQueryHandler : IRequestHandler<GetMerchantListQuery, MerchantList>
    {
        private readonly IOptions<SalesforceSettings> _salesforceSettings;

        public GetMerchantListQueryHandler(IOptions<SalesforceSettings> salesforceSettings)
        {
            _salesforceSettings = salesforceSettings;
        }

        public async Task<MerchantList> Handle(GetMerchantListQuery request, CancellationToken cancellationToken)
        {
            var salesforceResponseAuth = new SalesforceRequest
            {
                grant_type = _salesforceSettings.Value.GrantType,
                client_id = _salesforceSettings.Value.ClientId,
                client_secret = _salesforceSettings.Value.ClientSecret,
                username = _salesforceSettings.Value.Username,
                password = _salesforceSettings.Value.Password
            };
//POST - authenticate
var salesforceAPI = RestService.For<ISalesforceService>(_salesforceSettings.Value.SafrapayEndpoint);
            var authToken = await salesforceAPI.MerchantContact(salesforceResponseAuth);
//GET - fetch merchant data
            var merchantAPI = RestService.For<IMerchantService>(_salesforceSettings.Value.SafrapayEndpoint);
            var merchants = merchantAPI.SearchMerchantList($"Bearer {authToken.access_token}");

            return await merchants;
        }
    }
公共类GetMerchantListQueryHandler:IRequestHandler
{
私有只读IOPS\u salesforceSettings;
公共GetMerchantListQueryHandler(IOOptions salesforceSettings)
{
_salesforceSettings=salesforceSettings;
}
公共异步任务句柄(GetMerchantListQuery请求、CancellationToken CancellationToken)
{
var salesforceResponseAuth=新的SalesforceRequest
{
grant\u type=\u salesforceSettings.Value.GrantType,
客户端\u id=\u salesforceSettings.Value.ClientId,
client\u secret=\u salesforceSettings.Value.ClientSecret,
username=\u salesforceSettings.Value.username,
密码=\u salesforceSettings.Value.password
};
//后验证
var salesforceAPI=RestService.For(_salesforceSettings.Value.SafrapayEndpoint);
var authToken=等待salesforceAPI.MerchantContact(salesforceResponseAuth);
//获取商户数据
var merchantAPI=RestService.For(_salesforceSettings.Value.SafrapayEndpoint);
var-merchants=merchantAPI.SearchMerchantList($“Bearer{authToken.access_token}”);
回报等待商家;
}
}
这就是我想测试的课程,我已经试过了:

private readonly GetMerchantListQueryHandler _getMerchantListQuery;
    private readonly Mock<IOptions<SalesforceSettings>> _salesforceSettings;

    public GetMerchantListQueryTests()
    {
        _salesforceSettings = new Mock<IOptions<SalesforceSettings>>();
        _getMerchantListQuery = new GetMerchantListQueryHandler(_salesforceSettings.Object);
    }

    [Fact]
    public async Task ShouldSendHandleSuccessfullyAsync()
    {
        //ARRANGE
        var cancellation = new CancellationToken();
        var request = It.IsAny<GetMerchantListQuery>();
        var response = new MerchantList();


        //ACT
       
        var result = await _getMerchantListQuery.Handle(request, cancellation);

        //ASSERT
        Assert.NotNull(result);
    }
private只读GetMerchantListQueryHandler\u getMerchantListQuery;
私有只读模拟设置;
公共GetMerchantListQueryTests()
{
_salesforceSettings=新建模拟();
_getMerchantListQuery=新的GetMerchantListQueryHandler(\u salesforceSettings.Object);
}
[事实]
公共异步任务应SendHandleSuccessfullYaSync()
{
//安排
var cancellation=新的CancellationToken();
var request=It.IsAny();
var响应=新商品列表();
//表演
var result=await\u getMerchantListQuery.Handle(请求、取消);
//断言
Assert.NotNull(结果);
}