2011-01-08 85 views
15

我正在使用使用Azure表存儲的系統。在其他系統(例如,SQL,基於文件等)中,我可以編寫一個僞造的代碼,允許我測試數據持久性邏輯。但是,我無法看到爲Azure Table Service創建虛假的簡單方法。如何在.NET中爲單元測試僞造Azure表存儲?

我可以創建一個新的IIS項目,其行爲方式相同,但這不是編寫單元測試的好方法,它更像是一個集成測試。

有關如何對使用Azure表存儲客戶端的數據訪問代碼進行單元測試的任何想法?

感謝, 埃裏克

回答

0

這是我目前正在考慮自己的東西,但我還沒有嘗試過呢。我想如果你可以注入TableServiceContext作爲DataServiceContext,你可以使用數據服務爲Table Store建模。

更進一步,如果您使用實體框架「代碼優先」創建您的實體模型 - 您可以使用已經創建的表實體作爲數據服務的支持實體,並且一切都應該順利進行。

至少這是理論。我從來沒有嘗試過。

http://msdn.microsoft.com/en-us/library/microsoft.windowsazure.storageclient.tableservicecontext_members.aspx

+0

感謝您的回覆。我確信我完全遵循 - 是否建議使用WCF數據服務(本地)作爲Azure表測試的目標?如果是這樣,我喜歡這個想法,但我擔心兩者之間的奇怪差異。讓我知道你是否嘗試過,我也會這樣做。謝謝! – 2011-01-19 04:20:20

0

我使用一個內存實現ICloudTableStorage的,你可以進入如ReliableCloudTableRepository。

您可以在這裏找到代碼:https://gist.github.com/4078750

+0

這個鏈接到一個沒有代碼的文件。我不知道它曾經包含什麼,但在這一點上它沒有什麼。 – 2015-12-08 21:45:53

0

我正在考慮這更多的集成測試,但我想它也可以用於單元測試。遇見Azure Storage Emulator。這聽起來像是一個非常棒的測試Azure Blob,隊列和表服務的工具。如果我能記得這一點,我會玩弄它並嘗試發佈我的發現。