Java 使用文件中的值自动化eclipse控制台输入
我目前有一个问题,我需要测试数千个控制台输入,以便为项目中的另一个团队创建日志。该项目正在eclipse(java)中开发 基本上,流程如下所示: 1) 程序在控制台上加载并输出一些文本 2) 用户输入文本(有时取决于程序之前打印的内容) 3) 程序输出更多文本,准备再次输入 基本上,我需要编写/使用一个脚本,允许我将所有输入放入某种文件中,并让它运行以创建此日志文件Java 使用文件中的值自动化eclipse控制台输入,java,eclipse,automation,qa,Java,Eclipse,Automation,Qa,我目前有一个问题,我需要测试数千个控制台输入,以便为项目中的另一个团队创建日志。该项目正在eclipse(java)中开发 基本上,流程如下所示: 1) 程序在控制台上加载并输出一些文本 2) 用户输入文本(有时取决于程序之前打印的内容) 3) 程序输出更多文本,准备再次输入 基本上,我需要编写/使用一个脚本,允许我将所有输入放入某种文件中,并让它运行以创建此日志文件 这可以做到吗?你有什么建议吗?一般来说,解决这类问题的一个好方法是抽象输入和输出。例如,让您的控制类接受InputStream和
这可以做到吗?你有什么建议吗?一般来说,解决这类问题的一个好方法是抽象输入和输出。例如,让您的控制类接受InputStream和OutputStream作为其构造函数中的参数 在实际程序的main方法中,分别使用System.In和System.out创建该控制器的实例。对于“批处理”程序,您可以提供您喜欢的任何其他InputStream和OutputStream 关于user1291492的评论:总是建议进行单元测试,但是看起来您的问题实际上与测试无关,而是修改您的程序以充当某种中介,这不是一回事 如果您真的需要一个快速而肮脏的解决方案(我建议不要招致技术债务),在*NIX系统上,您可以尝试以下方法:
cat * | java -jar yourprogram.jar > logoutput.txt
假设您将所有输入文件复制到一个目录中。cat将连接目录中的所有文件,然后通过管道将标准输入(通过“|”)传输到您的程序,程序的标准输出重定向到“logoutput.txt(通过“>”)。可行但不容易。也许您可以指定一些junit测试,然后返回并询问这是否是一个可能的替代方案?