ストリームリーダーを使用してデータをインポートし、現時点では、テストで小さなサンプルファイルをハードコーディングして作業を行っています。
これとどのようにモックオブジェクトを使用するのが賢明ですか?
StreamReader派生クラスを作成していない限り、StreamReaderをモックするポイントはありません。StreamReaderを介してテスト入力を提供する必要がある場合は、適切なソースから事前定義されたデータを読み取るだけです。
StreamReaderは具象クラスであるため、多くのモックシステムではモックできません。 ただし、 TypeMockIsolatorはそうします。
テスト対象のクラスにデータを提供するだけでなく、リーダーからエラーを強制的に発生させる必要がある場合は、モックを作成することをお勧めします。この機能が必要ない場合は、 MemoryStreamなどの他のストリームからStreamReaderを構築するのと同じくらい先を行っている可能性があります。この方法では、データを取得するためにディスクに移動する必要はありません。
ストリーム、ストリームリーダー、ストリームライターに依存するコードをテストするとき、私は通常、テストにmemorystreamオブジェクトを使用します。ここではモックフレームワークは必要ありません。
ファクトリメソッドを使用して、モックオブジェクトまたは実際のStreamReaderのいずれかであるTextReaderを返すことができます。