Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何模拟异步搜索? [事实] 公共异步任务测试\u GetCustomer\u Status\u当\u No\u Customer\u存在时() { var customerEngine=A.Fake(); var monitorEngine=A.Fake(); var customerLog=A.Fake(); var条件=新列表(); var customers=新列表(); 变量名称=新列表 { “服务” }; var hashKey=“站点”; A.CallTo(()=>customerEngine.GetCustomers(条件)).Returns(null);//Get customers返回异步搜索 A.CallTo(()=>monitorEngine.QueryItems(hashKey,QueryOperator.BeginsWith,names)).Returns(null); CustomerManager=new CustomerManager(customerEngine、monitorEngine); 等待经理。GetCustomers(); A.CallTo(()=>customerEngine.GetCustomers(A.Ignored)).musthaveOccurs(); }_C# - Fatal编程技术网

C# 如何模拟异步搜索? [事实] 公共异步任务测试\u GetCustomer\u Status\u当\u No\u Customer\u存在时() { var customerEngine=A.Fake(); var monitorEngine=A.Fake(); var customerLog=A.Fake(); var条件=新列表(); var customers=新列表(); 变量名称=新列表 { “服务” }; var hashKey=“站点”; A.CallTo(()=>customerEngine.GetCustomers(条件)).Returns(null);//Get customers返回异步搜索 A.CallTo(()=>monitorEngine.QueryItems(hashKey,QueryOperator.BeginsWith,names)).Returns(null); CustomerManager=new CustomerManager(customerEngine、monitorEngine); 等待经理。GetCustomers(); A.CallTo(()=>customerEngine.GetCustomers(A.Ignored)).musthaveOccurs(); }

C# 如何模拟异步搜索? [事实] 公共异步任务测试\u GetCustomer\u Status\u当\u No\u Customer\u存在时() { var customerEngine=A.Fake(); var monitorEngine=A.Fake(); var customerLog=A.Fake(); var条件=新列表(); var customers=新列表(); 变量名称=新列表 { “服务” }; var hashKey=“站点”; A.CallTo(()=>customerEngine.GetCustomers(条件)).Returns(null);//Get customers返回异步搜索 A.CallTo(()=>monitorEngine.QueryItems(hashKey,QueryOperator.BeginsWith,names)).Returns(null); CustomerManager=new CustomerManager(customerEngine、monitorEngine); 等待经理。GetCustomers(); A.CallTo(()=>customerEngine.GetCustomers(A.Ignored)).musthaveOccurs(); },c#,C#,获取客户返回异步搜索 但是,如何模拟异步搜索? 现在有什么解决方法吗?我没有看到这个类的接口,因此很难伪造它。我看到这个问题报告给AWS,如果他们将来回来修复,我们可以做到。有很多工作要做,因为你最终会做很多的研发工作。请参考此内容并 我没有看到这个类的接口,因此很难伪造它。我看到这个问题报告给AWS,如果他们将来回来修复,我们可以做到。有很多工作要做,因为你最终会做很多的研发工作。请参考此内容并 为什么还要模拟结果?通过模拟GetCustomers可以返回任何AsyncSearch对象。因为G

获取客户返回异步搜索

但是,如何模拟异步搜索?
现在有什么解决方法吗?

我没有看到这个类的接口,因此很难伪造它。我看到这个问题报告给AWS,如果他们将来回来修复,我们可以做到。有很多工作要做,因为你最终会做很多的研发工作。请参考此内容并
我没有看到这个类的接口,因此很难伪造它。我看到这个问题报告给AWS,如果他们将来回来修复,我们可以做到。有很多工作要做,因为你最终会做很多的研发工作。请参考此内容并

为什么还要模拟结果?通过模拟
GetCustomers
可以返回任何
AsyncSearch
对象。因为GetCustomers()返回AsyncSearch,所以让我尝试给出一个示例。假设有一个函数返回当前月份的日期:
byte GetDayOfCurrentMonth()
。通过模拟方法本身,您可以返回任何有效(1…31)或无效(0,32…255)数据。通过模拟,您可以简化计算逻辑并返回预定义的“静态”值。您可以通过创建一个新的
AsyncSearch
实例并根据测试用例的需要指定其属性来完成同样的操作。如果是异步方法,则应使用
Task.FromResult
将搜索对象包装到任务中。为什么还要模拟结果?通过模拟
GetCustomers
可以返回任何
AsyncSearch
对象。因为GetCustomers()返回AsyncSearch,所以让我尝试给出一个示例。假设有一个函数返回当前月份的日期:
byte GetDayOfCurrentMonth()
。通过模拟方法本身,您可以返回任何有效(1…31)或无效(0,32…255)数据。通过模拟,您可以简化计算逻辑并返回预定义的“静态”值。您可以通过创建一个新的
AsyncSearch
实例并根据测试用例的需要指定其属性来完成同样的操作。如果是异步方法,则应使用
Task.FromResult
将搜索对象包装到任务中。
[Fact]
    public async Task Test_GetCustomer_Status_When_No_Customer_Exist()
    {
        var customerEngine = A.Fake<ICustomerEngine>();
        var monitorEngine = A.Fake<IMonitorEngine>();
        var customerLog = A.Fake<ILogProvider<CustomerManager>>();
        var conditions = new List<ScanCondition>();
        var customers = new List<Customer>();
        var names = new List<string>
        {
            "SERVICE"
        };
        var hashKey = "SITE";
        A.CallTo(() => customerEngine.GetCustomers(conditions)).Returns(null);  // Get customers returns AsyncSearch<Customer>
        A.CallTo(() => monitorEngine.QueryItems(hashKey, QueryOperator.BeginsWith, names)).Returns(null);
        CustomerManager manager = new CustomerManager(customerEngine, monitorEngine);
        await manager.GetCustomers();
        A.CallTo(() => customerEngine.GetCustomers(A<List<ScanCondition>>.Ignored)).MustHaveHappened();
    }