我有一门课,它执行以下操作
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 的构造函数有疑问。因为,就我而言,我不希望构造函数有任何参数。
你认为我使用了一个好的方法吗?我应该使用 OutputStream 类而不是 PrintStream 吗?有什么提示吗?
编辑询问:
有谁知道用于测试的 PrintStream?