我正在使用 xUnit 和 Moq 来编写测试用例。我正在使用下面的代码创建一个 Mock,但遇到了突出显示的问题。
CloudBlockBlob source = null;
AccessCondition sourceAccessCondition = null;
AccessCondition destAccessCondition = null;
BlobRequestOptions options = null;
OperationContext operationContext = null;
CloudBlobContainer container = new CloudBlobContainer(uri);
Task task = null;
DeleteSnapshotOption deleteSnapshotOption = new DeleteSnapshotOption();
var mockCloudBlobClient = new Mock<Microsoft.WindowsAzure.Storage.Blob.CloudBlobClient>();
mockCloudBlobClient.Setup(repo => repo.GetContainerReference("sample")).Returns(container);
var mockCloudBlobContainer = new Mock<Microsoft.WindowsAzure.Storage.Blob.CloudBlobContainer>(uri);
mockCloudBlobContainer.Setup(repo => repo.GetBlockBlobReference("sample")).Returns(new CloudBlockBlob(uri));
var mockBlobServiceProvider = new Mock<BlobServiceProvider>();
mockBlobServiceProvider.Setup(repo => repo.GetBlockBlobContainer("sample")).Returns(new CloudBloblContainer(new Uri("http://mytest")));
Run Code Online (Sandbox Code Playgroud)
该行mockBlobServiceProvider.Setup(repo => repo.GetBlockBlobContainer("sample")).Returns(new CloudBloblContainer(new Uri("http://mytest")));给了我这个错误:
System.NotSupportedException: '不支持的表达式:repo => repo.GetBlockBlobContainer("sample")
不可覆盖的成员(此处:BlobServiceProvider.GetBlockBlobContainer)不得用于设置/验证表达式。
班级 …