Unit testing 无法模拟Azure.Blob.Storage的BlobbBaseClient.CangenerateSauri
我目前正在为blob服务编写测试用例 我几乎克服了Azure.Blob.Storage的所有障碍,只有一个例外 我正在尝试测试一种生成blob Url的方法,该方法依赖于BlobClient的Unit testing 无法模拟Azure.Blob.Storage的BlobbBaseClient.CangenerateSauri,unit-testing,asp.net-core,moq,xunit,azure-blob-storage,Unit Testing,Asp.net Core,Moq,Xunit,Azure Blob Storage,我目前正在为blob服务编写测试用例 我几乎克服了Azure.Blob.Storage的所有障碍,只有一个例外 我正在尝试测试一种生成blob Url的方法,该方法依赖于BlobClient的CanGenerateSasUri属性if(blobClient.CanGenerateSasUri){} 测试中的设置如下所示: var url = new Uri("http://bogus:10000/devstoreaccount1/MyContainer/Blob.mp3");
CanGenerateSasUri
属性if(blobClient.CanGenerateSasUri){}
测试中的设置如下所示:
var url = new Uri("http://bogus:10000/devstoreaccount1/MyContainer/Blob.mp3");
var blobClient = new Mock<BlobClient>(MockBehavior.Default, url, (BlobClientOptions)null);
blobClient.SetupGet(x => x.CanGenerateSasUri).Returns(true);
该错误是有效的,因为我可以看到属性BlobBaseClient.CanGenerateSasUri
不是虚拟的
我在GitHub上发现了这个()问题
问题中提到,它已经在master
分支中解决并合并
但即使在最新版本(12.8.4)中,也没有出现这种变化
有人能帮我绕过这个问题吗?
System.NotSupportedException : Unsupported expression: x => x.CanGenerateSasUri
Non-overridable members (here: BlobBaseClient.get_CanGenerateSasUri) may not be used in setup / verification expressions.