为Cosmos Client编写单元测试时出错(无法将列表 转换为Task >] ] >> [[

问题描述 投票:-1回答:1
包装-

Microsoft.Azure.Cosmos.Client,版本= 3.8.0.0 我要模拟的方法是-

public async Task LoadCollectionFromStorageAsync() { string query = "SELECT* FROM c"; QueryDefinition queryDefinition = new QueryDefinition(query); FeedIterator<MyType> queryResultSetIterator = _client.GetContainer(_settings.CosmosDbDatabaseId, _settings.Table).GetItemQueryIterator<MyType>(queryDefinition); List<MyType> results = new List<MyType>(); while (queryResultSetIterator.HasMoreResults) { results.AddRange(await queryResultSetIterator.ReadNextAsync()); } }

下面是代码---我收到错误的地方----

Mock<CosmosClient> _mockClient = new Mock<CosmosClient>(); Mock<Container>() _mockContainer = new Mock<Container>(); List<MyType> model = new List<MyType>(); { PartitonKey= "p1", Name = "name1" }; _mockClient.Setup(_ => _.GetContainer(It.IsAny<string>(), It.IsAny<string>())).Returns(_mockContainer.Object); _mockContainer.Setup(_ => _.GetItemQueryIterator<MyType>(It.IsAny<string>(), null, null).ReadNextAsync(It.IsAny<CancellationToken>())) .Returns(model);

Package-Microsoft.Azure.Cosmos.Client,版本= 3.8.0.0,我要模拟的方法是-公共异步任务LoadCollectionFromStorageAsync(){字符串查询=“ SELECT * ...
c# unit-testing nunit azure-cosmosdb moq
1个回答
0
投票
[您正在嘲笑GetItemQueryIterator,它返回FeedIterator,当调用ReadNextAsync时,它返回FeedResponse<T>,而不是List<T>
© www.soinside.com 2019 - 2024. All rights reserved.