运行单元测试时,与Azure blob存储的连接不起作用

时间:2016-10-21 07:59:33

标签: azure resharper azure-storage-blobs

我编写了一个非常简单的程序来测试将文件上传到Azure Blob存储,我还为它编写了一个单元测试。 对我来说问题是运行控制台应用程序的代码和单元测试完全相同,但单元测试正在尝试连接到localhost(它们具有相同的连接字符串)。

产生错误的代码是:

public class AzureFileUploadRepository : IFileUploadRepository
{
    public string UploadFile(byte[] file, Guid? fileName = null)
    {
        var container = this.GetContainer();

        if (!fileName.HasValue)
        {
            fileName = Guid.NewGuid();
        }

        var blockBlob = container.GetBlockBlobReference(fileName.ToString());
        using (var memStream = new MemoryStream(file))
        {
            blockBlob.UploadFromStream(memStream);
        }

        return fileName.Value.ToString();
    }

    private CloudBlobContainer GetContainer()
    {
        var storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
        var blobClient = storageAccount.CreateCloudBlobClient();
        var container = blobClient.GetContainerReference("mycontainer");
        container.CreateIfNotExists();

        return container;
    }
}

如您所见,它是非常基本的代码,它在从控制台应用程序运行时可以正常工作,但在使用Resharper运行单元测试时,我收到此错误: enter image description here 似乎Resharper正在使用代理或其他什么,但我无法找到解决这个问题的地方。

任何人都有线索?

如果您想自己测试,源代码就在这里(您需要将[StorageConString]替换为您自己的连接字符串到您自己的blob存储区 https://github.com/hesta96/BlobTester

1 个答案:

答案 0 :(得分:0)

我使用Resharper运行单元测试,测试结果为绿色。但是当我设置Web代理然后得到同样的问题。请尝试编辑Web代理并确保标记为“使用”的框LAN的代理服务器。“未经检查。请参阅how to turn off the IE Proxy server。希望它可以帮到你。

[ReSharper] - > [选项] - > [网络代理设置] - > [编辑]

Resharper enter image description here