たとえば、スニペット A
String readSource(String file);
スニペット B
String readSource(InputStream in);
したがって、インターフェイスを A として定義すると、テスト用のファイルしか作成できません。しかし、時間が経つとテストファイルの管理がかなり難しくなります。したがって、B インターフェイスを使用すると、テストが容易になります。偽物を作成してInputStream
、メソッドが必要な結果を返すかどうかを確認するだけです。ただし、IOException
毎回このメソッドを呼び出す前に、を処理する必要があります。