【发布时间】:2020-06-12 08:10:38
【问题描述】:
包装-
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);
【问题讨论】:
-
请分享完整的代码示例
-
@PavelAnikhouski 添加了我要模拟的方法。
标签: c# unit-testing nunit azure-cosmosdb moq