わざわざ StreamReader オブジェクトをモックするつもりですか?
質問
ストリーム リーダーを使用してデータをインポートし、現時点では、その作業を実行するためにテストで小さなサンプル ファイルをハードコーディングしています。
これとその方法でモックオブジェクトを使用するのは賢明ですか?
解決
StreamReader の派生クラスを作成しない限り、StreamReader をモックするポイントはありません。StreamReader 経由でテスト入力を提供する必要がある場合は、適切なソースから事前定義されたデータを読み取るだけです。
他のヒント
ストリームリーダー は具象クラスであるため、多くのモック システムではこれをモックすることはできません。タイプモックアイソレーター ただし、なります。
リーダーから強制的にエラーを発生させる必要がある場合は、単にテスト対象のクラスにデータを提供させるのではなく、モックを使用するとよいでしょう。この機能が必要ない場合は、同じくらい進んでいる可能性があります 建設中 他のストリームからの StreamReader メモリストリーム - この方法では、データをディスクに保存する必要がありません。
ストリーム、ストリームリーダー、およびストリームライターに依存するコードをテストするとき、私は通常、テストに Memorystream オブジェクトを使用します。ここではモックフレームワークは必要ありません。
ファクトリ メソッドを使用して、モック オブジェクトまたは実際の StreamReader のいずれかである TextReader を返すことができます。
所属していません StackOverflow