如何创建 Azure.AsyncPageable 进行模拟?

问题描述 投票:0回答:1

我想模拟一个返回 Azure.AsyncPageable 的 C# 方法。

这个类只有受保护的构造函数,所以我无法直接实例化它。有没有办法从其他集合创建此类的实例,例如 IAsyncEnumerable 或只是 List

c# azure asynchronous pagination mocking
1个回答
27
投票

您可以创建

Page
对象
using Page<T>.FromValues
。 然后,使用
AsyncPageable<T>
创建一个
AsyncPageable<T>.FromPages

示例:

        var page = Page<TableEntity>.FromValues(new List<TableEntity>
        {
            new TableEntity("1a", "2a"),
            new TableEntity("1", "2b")
        }, continuationToken: null, new Mock<Response>().Object);
        var pages = AsyncPageable<TableEntity>.FromPages(new[] { page });
© www.soinside.com 2019 - 2024. All rights reserved.