测试基于控制台的应用程序/程序 - Java
2022-09-04 00:41:40
都
我用Java编写了一个基于命令行的PhoneBook应用程序。该应用程序基本上会询问用户的一些详细信息,例如姓名,年龄,地址和电话号码,并将其存储在文件中。其他操作包括按姓名,电话号码等查找电话簿。所有详细信息都通过控制台输入。
我正在尝试为我已实现的每个功能编写 JUnit 测试用例,但无法弄清楚如何将实现代码重定向到我的 JUnit 测试方法中的某些内容,这些方法将在实际代码停止供用户输入时提供这些值?System.in
例:
我的实现代码有:
BufferedReader is = new BufferedReader (new InputStreamReader(System.in));
System.out.println("Please enter your name:");
String name = is.readLine(); // My test cases stop at this line. How can I pass command line values i.e. redirect System.in to my test based values?
希望它有意义