Azure Blob 저장소에 파일을 업로드하도록 테스트하는 매우 간단한 프로그램을 작성했으며이를위한 단위 테스트도 작성했습니다. 나를 위해 문제는 콘솔 응용 프로그램과 단위 테스트를 실행하는 코드가 정확히 동일하지만 단위 테스트가 localhost에 연결을 시도하고 있다는 것입니다 (이들은 동일한 연결 문자열을 가짐).단위 테스트를 실행할 때 Azure blob 저장소에 연결하면 작동하지 않습니다.
오류가 이것이다 생산 코드 : 당신이 아주 기본적인 코드보고 나는이 오류가 콘솔 응용 프로그램에서 실행 때 ReSharper에서와 단위 테스트를 실행할 때 작동으로
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가 프록시를 사용하고있는 것처럼 보이지만이 문제를 해결할 수없는 부분을 찾을 수 없습니다.
단서가 있습니까?
자신을 테스트 할 경우
는 소스 코드 (당신은 https://github.com/hesta96/BlobTester
, 당신은 저장 에뮬레이터 또는 클라우드 스토리지 계정에 연결? –
Console Application과 Unit Test 모두에 동일한 구성 파일을 사용합니까? –
두 솔루션 모두에서 똑같은 connectionstring을 사용하고 친구가 테스트 및 콘솔 앱 모두에서 코드를 시도한 경우 –