3

プロジェクトの一部として、NetworkStreamから派生したクラスがあります。この場合、ReadやReadByteなどのメソッドのラップされた実装を提供して、コンテキスト固有の安全性を提供します(いくつかの追加ロジックを使用して基本メソッドを呼び出します)。

しかし、これをテストすることは問題です。このクラスでは、コンストラクター(コンクリート型)にSocketが必要であり、モックは機能しません(ここでは、Moqを使用します。おそらく、TypeMockのようなものですが、コストのかかるツールは避けたいと思います)。

もう1つの方法は、継承するのではなく作成し、NetworkStreamをラップし、NetworkStreamと同様の独自のインターフェイスを実装するクラスを作成することです。しかし、これも問題です。StreamReaderなどのBCL内のストリームのほとんどのコンシューマーは、具体的なStreamまたは派生型を必要とするため、作成されたクラスでは機能しません。

だから、誰かが代替案を考えることができますか?それは私がまともな報道なしで去ることについて私が幸せに感じるものではありません-それは多くがうまくいかないかもしれない領域であり、そしてそれはしっかりしているべきです。

4

1 に答える 1

0

pexandmolesプロジェクトhttp://research.microsoft.com/en-us/projects/pex/を確認することをお勧めします。より具体的には、モルの部分。はじめにへの直接リンクは次のとおりです。http://research.microsoft.com/en-us/projects/pex/molestutorial.pdf

于 2011-07-16T14:05:43.053 に答える