【发布时间】:2017-09-12 10:25:50
【问题描述】:
我如何 JUnit 测试我的简单 main 方法命令行类,它使用 Scanner 从 system.in 读取并打印到 system.out。
import java.util.Scanner;
public class SimpleMainCmdApplication {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
System.out.println(scanner.next());
}
}
这是一个非常具体的用例,我正在做一门课程数据结构和算法课程,它要求参与者上传一个 *.java 文件,该文件的主要方法是从 System.in(使用扫描仪)读取并将答案输出到 System 。出去。当您上传代码时,网站会构建和运行应用程序,并测试和衡量算法的性能。
我想要一种模拟这种情况的方法,这样我就可以使用 JUnit 编写简单的集成测试,作为对每个分配采用 TDD 方法的一部分。在其他堆栈溢出线程上有一些有用的指针有所帮助,但没有一个能满足全部要求。
【问题讨论】:
标签: java algorithm testing junit command-line-tool