小编dar*_*ser的帖子

Java I / O-模拟System.console()的输入

我正在为在练习中创建的程序编写JUnit。这意味着测试需要涵盖尽可能多的情况,而我对程序中某些内容的实现方式没有任何影响。此外,该程序还会运行一个无限循环,在该循环中,在某一点上它需要用户输入一些内容。
对于JUnit测试,我在另一个程序中运行该程序,Thread并在JUnit中模拟用户输入Thread

到目前为止,如果程序从中读取用户输入,则一切正常System.in,因为此流可以轻松替换。但是也存在程序交互的可能性,System.console()当前我的测试无法涵盖。

是否有可能模拟的输入System.console(),例如通过用另一个流替换其输入源?

(注意:JUnit测试必须使用Java 6且没有任何外部库(JUnit和Hamcrest除外)。)

编辑:不幸的是,我无法更改要测试的程序的类。

java junit java-io

4
推荐指数
1
解决办法
1518
查看次数

标签 统计

java ×1

java-io ×1

junit ×1