Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unit testing 模拟Azure BlobItem-C#单元测试_Unit Testing_Moq_Azure Storage Blobs_Azure Blob Storage - Fatal编程技术网

Unit testing 模拟Azure BlobItem-C#单元测试

Unit testing 模拟Azure BlobItem-C#单元测试,unit-testing,moq,azure-storage-blobs,azure-blob-storage,Unit Testing,Moq,Azure Storage Blobs,Azure Blob Storage,我有一些单元测试,我想模拟AzureBlobItem类(Azure.Storage.Blobs.Models) 这是我正在使用的测试类。我希望Valuesgetter返回一个带有模拟BlobItem的列表。这是有效的 public class TestPage : Page<BlobItem> { public override IReadOnlyList<BlobItem> Values { get {

我有一些单元测试,我想模拟Azure
BlobItem
类(Azure.Storage.Blobs.Models)

这是我正在使用的测试类。我希望
Values
getter返回一个带有模拟BlobItem的列表。这是有效的

public class TestPage : Page<BlobItem>
{
    public override IReadOnlyList<BlobItem> Values
    {
        get
        {
            return new List<BlobItem>() { new Mock<BlobItem>().Object };
        }
    }

    public override string ContinuationToken => throw new NotImplementedException();

    public override Response GetRawResponse()
    {
        throw new NotImplementedException();
    }
}
但是我得到了一个错误:

Non-overridable members may not be used in setup/verification expressions.
我理解为什么会发生这种错误。但我不知道解决办法是什么


我希望模拟的BlobItem返回一个非null的
Name
值。如何实现这一点?

显然有一个名为
BlobsModelFactory
的工厂类

您可以通过调用以下命令,以任意名称模拟BlobItem:

var blob = BlobsModelFactory.BlobItem("mocked.mocked.mocked.mocked")
var blob = BlobsModelFactory.BlobItem("mocked.mocked.mocked.mocked")