0
我們有一個由離岸外包開發公司開發的舊應用程序,它仍在使用Azure存儲客戶端1.7。Azure CloudBlobDirectory子目錄
因此,我在此版本停止工作之前更新它。
有一個單元測試,我不能通過。
[TestMethod()]
public void CloudBlobDirectoryTest()
{
CloudBlobClient cloudBlobClient = _cloudStorageAccount.CreateCloudBlobClient();
string filePath = "http://127.0.0.1:10000/devstoreaccount1/store1/BCAUK_Reports.sql";
string expected = "store1";
CloudBlobDirectory actual = AzureUtil.CloudBlobDirectory(cloudBlobClient, filePath);
Assert.AreEqual(expected, actual.Container.Name);
}
使用看起來像這樣的方法:
public static CloudBlobDirectory CloudBlobDirectory(CloudBlobClient cloudBlobClient, string filePath)
{
CloudBlobDirectory cloudBlobDirectory = cloudBlobClient.GetBlobDirectoryReference(filePath);
return cloudBlobDirectory;
}
我已經重構這個以適應新的存儲API爲:
public static CloudBlobDirectory CloudBlobDirectory(CloudBlobClient cloudBlobClient, string filePath)
{
Uri path = new Uri(filePath);
string relativePath = "/store1/";
CloudBlobContainer container = cloudBlobClient.GetContainerReference(path.Segments[1]);
CloudBlobDirectory cloudBlobDirectory = container.GetDirectoryReference(relativePath);
return cloudBlobDirectory;
}
我不能鍛鍊什麼價值relativePath
應該是,我將如何以可重現的方式得到這個值。
一致認爲它看起來很奇怪,不幸的是,它很少有關於它試圖實現什麼的文檔。看起來這將比我希望的更重寫。 – Fishcake
@Fishcake有什麼我可以添加到我的答案來幫助你,或者這是你需要知道的幫助以上? –