1

VS2010 Beta 2 で利用可能なコード コントラクト ツールを使用して、インターフェイス、そのインターフェイスのコントラクト クラス、およびインターフェイスを実装する 2 つのクラスを定義しました。

コードをテストするときは、実装クラスをテストして、それらの機能が正しいことを確認し、コントラクト コードをテストして、条件が正しいことを確認したいと考えています。

2 つの実装クラスのそれぞれで各コントラクト ステートメントをテストできますが、それは明らかに冗長です。これらの実装クラスのいずれかでテストを作成することもできますが、それは少し間違っているようです。どちらを選択するか、コントラクトを変更するときにどれを更新するかを覚えておくなどです。

実際のインターフェイス コントラクト クラスをテストしたいのですが、コンパイル時に、テストしたいインターフェイス メソッドがインターフェイス コントラクト クラスで使用できないというあらゆる種類の警告が表示されます。コントラクト コードを実装クラスに実際に挿入するコンパイル後の魔法が発生していることはわかっていますが (ILDASM で確認できます)、インターフェイスのコントラクト クラス メソッドを調べると、MISL に存在しますが、空です。

私は何かが足りない、または私がやりたいことは不可能です。そうでない場合、これの「ベストプラクティス」は何ですか?

===編集===

ここでの 1 つの提案は、インターフェイス コントラクトをテストすることのみを目的とするクラス (テスト アセンブリの内部) にインターフェイスを実装することです。

4

1 に答える 1

1

コントラクトのテストは、単体テストの単体テストに似ています。テストなどのテストをテストする必要があるため、そうしません。

于 2009-12-02T10:31:38.737 に答える