2

すべて同じインターフェイスを使用する多数のクラスがあります。このコードが単体テストを持つのはこれが初めてなので、これらすべてのテスト、または少なくともクラスの構造を生成する最良の方法を考えようとしています。

モデルに基づいて複数のファイルを生成するために、EF で T4 テンプレートが使用されていることは知っています。インターフェイスを実装するすべてのクラスを調べて、それぞれの単体テスト クラスを生成するように T4 テンプレートで指定できる方法はありますか。または、簡単な場合は、すべてのクラスが同じフォルダー内にあるため、そのフォルダーを指すだけでよい場合は、おそらく問題ありません。

それが完了したら、各単体テスト クラスの詳細に仕様を記入します。クラスに追加したコードを上書きしないように、明らかに T4 ファイルを削除する必要があります。

4

3 に答える 3

0

T4 テンプレートは、設計時テンプレート用の 1 つの出力ファイルであれ、実行時テンプレート用の 1 つの文字列であれ、常に 1 つの出力のみを生成します。したがって、テンプレート自体は複数のファイルを生成できません。それでも、わずかなコードで、1 つのランタイム テンプレートを複数回使用して、必要に応じて複数の出力を作成できます。

メイン プロジェクトとは別に、T4 ランタイム テンプレートとコードを含む単純なユーティリティを作成することをお勧めします。たとえば、特定のアセンブリまたは特定のソース ファイルの束を検査し、T4 ランタイムを使用して適切なテスト スケルトンを生成します。テンプレートを作成し、対象のクラスごとにファイルに保存します。そのようなツールを作成するために少し時間を費やす価値があるかどうかは、問題のクラスの数に依存すると思います。

十分に明確でない場合は、私に知らせてください。例を提供しようとします。

于 2013-04-09T12:54:49.827 に答える