わざわざ StreamReader オブジェクトをモックするつもりですか?

StackOverflow https://stackoverflow.com/questions/62159

  •  09-06-2019
  •  | 
  •  

質問

ストリーム リーダーを使用してデータをインポートし、現時点では、その作業を実行するためにテストで小さなサンプル ファイルをハードコーディングしています。

これとその方法でモックオブジェクトを使用するのは賢明ですか?

役に立ちましたか?

解決

StreamReader の派生クラスを作成しない限り、StreamReader をモックするポイントはありません。StreamReader 経由でテスト入力を提供する必要がある場合は、適切なソースから事前定義されたデータを読み取るだけです。

他のヒント

ストリームリーダー は具象クラスであるため、多くのモック システムではこれをモックすることはできません。タイプモックアイソレーター ただし、なります。

リーダーから強制的にエラーを発生させる必要がある場合は、単にテスト対象のクラスにデータを提供させるのではなく、モックを使用するとよいでしょう。この機能が必要ない場合は、同じくらい進んでいる可能性があります 建設中 他のストリームからの StreamReader メモリストリーム - この方法では、データをディスクに保存する必要がありません。

ストリーム、ストリームリーダー、およびストリームライターに依存するコードをテストするとき、私は通常、テストに Memorystream オブジェクトを使用します。ここではモックフレームワークは必要ありません。

ファクトリ メソッドを使用して、モック オブジェクトまたは実際の StreamReader のいずれかである TextReader を返すことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top