18

Azure Table Storage を使用するシステムに取り組んでいます。他のシステム (SQL、ファイル ベースなど) では、データの永続化ロジックをテストできる偽物を作成できます。ただし、Azure テーブル サービスの偽物を作成する簡単な方法がわかりません。

同じように動作する新しい IIS プロジェクトを作成することもできますが、それは単体テストを作成するのに適した方法ではありません。統合テストに近いものです。

Azure Table Storage クライアントを使用するデータ アクセス コードを単体テストする方法について何か考えはありますか?

4

4 に答える 4

0

ReliableCloudTableRepository などに渡すことができる ICloudTableStorage のメモリ内実装を使用します。

ここでコードを見つけることができます: https://gist.github.com/4078750

于 2012-11-15T14:04:22.927 に答える
0

ここにいくつかの解決策が投稿されていることは知っていますが、私が思いついたのは次のとおりです。

http://azurator.blogspot.com/2013/07/unit-testing-azure-table-storage-queries.html

これは、 を使用してオブジェクトを照会する場合の解決策にすぎCloudTableQuery<T>ませんが、非常に役立ちました。より完全な実装を取得しようとしている場合DataServiceContext.SaveChanges()は、更新部分を取得するための shim を作成することもできます。

于 2013-07-02T01:10:48.817 に答える
0

これは私自身も現在検討中ですが、まだ試していません。

TableServiceContext は DataServiceContext から継承されているため、TableServiceContext を DataServiceContext として注入できれば、データ サービスを使用してテーブル ストアをモデル化できると思います。

さらに一歩進んで、Entity Framework "Code First" を使用して Entity Model を作成する場合、作成済みのテーブル エンティティをデータ サービスのバッキング エンティティとして使用するだけで、すべてがスムーズに機能するはずです。

それが少なくとも理論です。私はそれを試したことがない。

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

于 2011-01-10T03:55:14.333 に答える