時間とともに成熟したアプリの単体テストを書いています.テストケースが互いに独立しているため、NDBUnitを使用しています..このアプリの開発を開始している間、DBスキーマは非常に管理しやすく、ドラッグアンドドロップしましたXSD を作成するための VS デザイナーのテーブルが問題になることはありませんでした。私の現在の DB スキーマでは、生成される XSD のサイズは 3MB を超えています。低速の開発マシンでは、XSD を開こうとすると、VS がスリープ状態になります。したがって、DB スキーマと XSD の同期を維持することは非常に困難になっています。XSD を手動で変更する手順をなくす方法はありますか? 他の単体テスト フレームワークを検討する必要があることをお勧めしますか? Spring.Net は間違いなく必要な重量を与えてくれますが、インターフェイスがないため、それを統合するのは面倒な作業になります。
1 に答える
実稼働環境で Visual Studio デザイナーを手動で使用して XSD ファイルを作成している場合は、おそらく間違っています :) お気づきのように、Visual Studio XSD デザイナーは、おそらく、ファイルを維持するための最も管理しにくい方法です。 XSD ファイル。
私が行ったのと同じようにして、MyGeneration code-gen ツールに切り替えて、データベースから XSD ファイルを作成することをお勧めします。
情報: http://www.mygenerationsoftware.com
ダウンロード: http://sourceforge.net/projects/mygeneration/
XSD テンプレート: http://www.mygenerationsoftware.com/TemplateLibrary/Archive/?guid=59a03408-c96f-4baf-8171-b6bfe8725dab
また、これらのスクリーンキャストで NDbUnit ツールを使用してデータベース全体を 1 つの XSD ファイルにブルート フォースする方法を説明しましたが、NDbUnit ツールの実際の使用パターンは、複数のXSD ファイルを使用することを意図していることに注意してください。 (s) 必要に応じて、データベースに依存するさまざまなテストをサポートします。
XSD ファイルの内容は、NDbUNit が一度に操作するデータベースの「スコープ」を制御するため、このツールの目的は、さまざまなデータ依存テスト用にさまざまな XSD ファイルを用意することです。また、テスト、XSD、およびテスト データ (XML) を一緒に慎重にスコープして、さまざまなテストのコレクションですべてが互いに密接に相関するようにします。
データベース全体を1 つの XSD ファイルで表現すること (特に XSD ファイルが 3MB に近づいている場合) は、ほぼ間違いなくアンチパターンであり、テストやテスト データについて考えていない可能性が高いと考える必要があります。効果を発揮するのに十分な粒度の方法。
参照整合性規則に違反せずにデータベース テーブルの一部だけに効果的にデータをロードできない場合は、おそらくデータベース設計に問題があると考えられます。単一の神オブジェクトが OO 設計のアンチパターンであるのと同様に、非常に多くの場所で参照整合性の制約を持つ単一のモノリシック データベースも同様であり、すべてのテーブルにデータをロードすることによってのみレコードを挿入できます (ここでやっているように聞こえるので、すべてを一度に)。
最後に、わかりやすくするための簡単なポイント オブ オーダーとして、NDbUnit プロジェクトは現在も常にオープン ソースであり、Microdesk から完全に独立しています。私が Microdesk に勤務していたとき、会社はこのツールを利用し、私は時間外にプロジェクトに貢献しましたが、Microdesk はこのツールを採用した 1 つの会社にすぎないため、NDbUnit を「Microdesk の」と呼ぶのは完全に誤りです。 NDbUnit フレームワーク」。
これが役に立てば幸いです〜!