我的代码如下:
SubscriptionResource subscription = await armClient.GetDefaultSubscriptionAsync();
var resourceGroup = subscription.GetResourceGroups().FirstOrDefault(rg => rg.Data.Name.Equals(resourceGroupName));
GetResourceGroups()
返回ResourceGroupCollection
的实例.当ResourceGroupCollection
被SingleOrDefault
枚举时,我试图让模拟返回ResourceGroupResource
的模拟实例.然而,我不确定该怎么做.
到目前为止,我的Moq测试中有以下代码:
this.resourceGroupCollectionMock = new Mock<ResourceGroupCollection>() { CallBase = true };
Mock<ResourceGroupResource> adfResource = new Mock<ResourceGroupResource>();
ResourceGroupData rgData = ResourceManagerModelFactory.ResourceGroupData(resourceIdentifier, resourceGroupName);
adfResource.Setup(x => x.Data).Returns(rgData);
this.subscriptionResourceMock.Setup(x => x.GetResourceGroups()).Returns(this.resourceGroupCollectionMock.Object);
正如您在我的设置中看到的,我模拟GetResourceGroups()
以返回模拟ResourceGroupCollection
对象.但我不确定如何将adfResource
添加到模拟resourceGroupCollectionMock
中,以便在枚举后者时返回它.