1

私は比較的大きな Web API アプリケーションを持っています。つまり、現在 300 までのテーブルがあります。

このアプリは、ストアド プロシージャを使用せず、ほとんどビューを使用しないように作成されています。つまり、ビジネス ロジックはすべてアプリ コードに含まれています。リポジトリ パターンを使用しているため、単体テスト用のモック データを比較的簡単に作成できます。

ただし、モック データを管理することは非常に難しく、特定の個人が既に存在するデータを把握することは非常に困難です。テスト データをモック ファクトリに移動して、1 つのファイルに保存し、必要に応じてさまざまなテストをロードできるようにしました (つまり、特定のテストはデータの特定のサブセットのみを必要とするため、そのサブセットを求めます)。

それでも、データの管理は非常に複雑で、アプリケーションから返されたデータに関するアサートも脆弱です。たとえば、モック データに 10 人の顧客が定義されており、そのうち 2 人が非アクティブとしてマークされているとします。すべてのアクティブな顧客を返す必要があるメソッドが 8 つのインスタンスを返す必要があることをテストするテスト ケースがある場合があります。ただし、開発者がテスト データに新しいインスタンスを追加する必要がある場合、既存のテスト/アサートが壊れます。

誰もこれを管理した経験がありますか、またはこれについて何か書かれていますか?

4

1 に答える 1

0

複数のテストに使用されるテスト データを作成しているようです。これは最善の解決策ではありません。必要なデータは、テストごとに作成する必要があります。ここでは、テスト データ ビルダー パターンが役立ちます。このリンクでは、テスト データ ビルダーの使用方法について説明しています。また、Mark Seemann は、 autofixtureと呼ばれるこの種のモック データを作成するのに役立つライブラリを作成しました。

彼は、PluralSight で高度な単体テストに関する素晴らしいビデオを公開しています。PluralSight にアクセスできる場合は、ビデオを見ることをお勧めします。

于 2014-05-19T05:53:04.240 に答える