【问题标题】:Test for a program that receives input from keyboard测试从键盘接收输入的程序
【发布时间】:2022-01-05 10:50:26
【问题描述】:

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

【问题讨论】:

  • 你想做什么样的“测试”?

标签: python c bash testing automated-tests


【解决方案1】:

这是一个初始的 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

您可以添加字符,使输入更短等。

【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-16
    • 2014-04-18
    • 1970-01-01
    • 2012-05-18
    相关资源
    最近更新 更多