[英]How to Mock BlobContainerClient() of Azure.Storage.Blobs?
I need some example of creating Mock object for BlobContainerClient of Azure.Storage.Blobs for unit testing.我需要一些为 Azure.Storage.Blobs 的 BlobContainerClient 创建 Mock 对象以进行单元测试的示例。 How can I create Mock for following class?
如何为以下课程创建 Mock?
public sealed class BlobStorageProcessor
{
public BlobStorageProcessor(ILogger logger, BlobContainerClient containerClient)
{
this.logger = logger;
this.containerClient = containerClient;
}
}
Microsoft have now covered this in a blog post: https://devblogs.microsoft.com/azure-sdk/unit-testing-and-mocking/微软现在已经在一篇博文中介绍了这一点: https ://devblogs.microsoft.com/azure-sdk/unit-testing-and-mocking/
Basically, you use the Moq
package to create a mock object and setup methods/properties that will be used by BlobStorageProcessor
.基本上,您使用
Moq
包创建一个模拟对象并设置BlobStorageProcessor
将使用的方法/属性。
public static BlobContainerClient GetBlobContainerClientMock()
{
var mock = new Mock<BlobContainerClient>();
mock
.Setup(i => i.AccountName)
.Returns("Test account name");
return mock.Object;
}
In your unit test you should inject result of GetBlobContainerClientMock
method to BlobStorageProcessor
:在您的单元测试中,您应该将
GetBlobContainerClientMock
方法的结果注入BlobStorageProcessor
:
var blobStorageProcessor = new BlobStorageProcessor(
GetLoggerMock(),
GetBlobContainerClientMock()
);
GetLoggerMock
could by implemented similarly to GetBlobContainerClientMock
. GetLoggerMock
可以通过类似于GetBlobContainerClientMock
的方式实现。 Read more info here: Moq Quickstart在此处阅读更多信息:起订量快速入门
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.