私は次のことを行うクラスを持っています
class PersonDumper {
// attributes
public PersonDumper(PrintStream output, Set<Person> persons) {
// do stuff
}
public dump() {
for(Person p : persons) {
output.print(p);
output.print(",");
}
}
}
問題は、Person オブジェクトに与えている書式設定 (この例では toString() メソッドを出力したい) などが正しいことをテストしたいということです。
次に、次のようなもので出力をテストしたいと思います。
public class ListPrintStream extends PrintStream {
private List<List<String>> output;
// every time I call to print I do output.add(string)
}
次に、その List> を取得して読み取り、必要なものが出力されているかどうかをテストします。
しかし、PrintStream に使用されるコンストラクターに問題があります。私の場合、コンストラクターに引数が必要ないからです。
私は良いアプローチをしていると思いますか?PrintStream の代わりに OutputStream クラスを使用しますか? ヒントはありますか?
編集して尋ねる:
テストに使用される PrintStream を知っている人はいますか?