测试从键盘接收输入的程序

问题描述 投票:0回答:3

我做了一个程序,用c中的readline函数接收来自终端的输入(https://eli.thegreenplace.net/2016/basics-of-using-the-readline-library/),readline节省了键盘来自终端的输入(基本上是标准输入的读取)并将其保存在缓冲区内。 想象一下,当我的程序执行时,它只是在屏幕上打印一条消息,例如:*输入命令:*,我可以编写一个 bash 命令,它将执行它(就像 bash 一样)。 我想做一个测试(在 python、c++ 或 bash 中),将启动程序,写入 readline 并检查与 bash 相比的输出,有谁知道如何做到这一点?

python c bash testing automated-tests
3个回答
0
投票

这是一个初始 bash 脚本,它使用一些属性随机化输入:

for i in {1..5}; do
    input=$(echo {A..Z} {a..z} | tr ' ' "\n" | shuf | xargs | tr -d ' ' | cut -b 1-18)
    echo ${input}
    /path/to/your_program < ${input}
done

您可以添加字符、缩短输入长度等


0
投票

I/O 重定向

您可以使用 I/O 重定向找到多种方法来完成您需要的操作,例如:

您可以通过管道

echo
命令的输出作为程序的输入。

在终端中运行:

echo " *the input you want to your program* " | ./program_excecutable_path

-1
投票

我认为你想要的是在 python 中获取输入(我建议你使用 input() 函数),将其存储在变量中,然后使用 print()

在终端中打印出来
© www.soinside.com 2019 - 2024. All rights reserved.