Ash*_*raf 14 c# mocking azure azure-blob-storage
我需要一些为 Azure.Storage.Blobs 的 BlobContainerClient 创建 Mock 对象的示例以进行单元测试。如何为以下课程创建模拟?
public sealed class BlobStorageProcessor
{
public BlobStorageProcessor(ILogger logger, BlobContainerClient containerClient)
{
this.logger = logger;
this.containerClient = containerClient;
}
}
Run Code Online (Sandbox Code Playgroud)
小智 16
微软现已在博客文章中介绍了这一点:https ://devblogs.microsoft.com/azure-sdk/unit-testing-and-mocking/
基本上,您使用该Moq包创建一个模拟对象并设置将由BlobStorageProcessor.
public static BlobContainerClient GetBlobContainerClientMock()
{
var mock = new Mock<BlobContainerClient>();
mock
.Setup(i => i.AccountName)
.Returns("Test account name");
return mock.Object;
}
Run Code Online (Sandbox Code Playgroud)
在您的单元测试中,您应该将GetBlobContainerClientMock方法的结果注入到BlobStorageProcessor:
var blobStorageProcessor = new BlobStorageProcessor(
GetLoggerMock(),
GetBlobContainerClientMock()
);
Run Code Online (Sandbox Code Playgroud)
GetLoggerMock可以通过类似于GetBlobContainerClientMock. 在此处阅读更多信息:起订量快速入门
| 归档时间: |
|
| 查看次数: |
23733 次 |
| 最近记录: |