使用文件中的值自动执行eclipse控制台输入

时间:2012-03-29 16:53:46

标签: java eclipse automation qa

我目前遇到一个问题,我需要测试数千个控制台输入,以便为项目中的另一个团队创建日志。该项目正在eclipse(java)

中开发

基本上这个过程如下:

1)程序在控制台上加载和输出一些文本

2)用户输入文本(有时取决于程序之前打印的内容)

3)程序输出更多文本准备再次输入。

基本上我需要编写/使用一个脚本,它允许我将所有输入放入某种文件中,让它运行以创建这个日志文件。

可以这样做,你有任何提示吗?

1 个答案:

答案 0 :(得分:0)

通常,解决此类问题的一种好方法是抽象输入和输出。例如,让您的控制类接受 InputStream OutputStream 作为其构造函数中的参数。

在实际程序的 main 方法中,分别使用 System.in System.out 创建该控制器的实例。对于“批处理”程序,您可以提供您喜欢的任何其他 InputStream OutputStream

关于user1291492的评论:总是建议进行单元测试,但看起来你的问题实际上并不与测试相关,而是修改你的程序以充当某种中介,这不是一回事。

如果你真的需要快速&肮脏的解决方案(我建议不要承担技术债务),在* NIX系统上你可以试试这个:

cat * | java -jar yourprogram.jar > logoutput.txt

假设您将所有输入文件复制到一个目录中。 cat 将连接目录中的所有文件,然后通过管道传输到您的程序的标准输入(通过“|”),其标准输出被重定向到“logoutput.txt(via”> “)。