问题描述
我目前正在为我的 Blob 服务编写测试用例。
我已经通过了几乎所有 Azure.Blob.Storage
的障碍,只有一个除外。
我正在尝试测试一种方法,该方法生成依赖于 BlobClient 的 CanGenerateSasUri
属性的 blob 的 Url。 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);
但起订量在抱怨:
System.NotSupportedException : Unsupported expression: x => x.CanGenerateSasUri
Non-overridable members (here: BlobBaseClient.get_CanGenerateSasUri) may not be used in setup / verification expressions.
错误有效,因为我可以看到属性 BlobBaseClient.CanGenerateSasUri
不是虚拟的。
我在 GitHub 上发现了这个 (Cannot mock the BlobBaseClient.CanGenerateSasUri property for testing) 问题。
issue 中提到已经解决并合并到 master
分支。
但即使在最新版本 (12.8.4) 中也不存在更改。
有人可以帮我绕过这个问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)