我目前正在从事类似bash的项目。但是,我需要使用数千个测试来测试该项目,而这些测试无法手动检查。这就是为什么我想自动执行测试。
我的程序使用fgets()
来获取用户输入。我知道如何直接向程序发送参数,但是当程序启动时,它会显示程序提示。如何在标准输入上添加包含测试的文件,以使程序能够解释测试? (并在终端中获取程序输出)。
最佳答案
假设所有测试输入都存储在名为“ test.input”的文件中(每一行都是该程序的完整输入),则可以在bash中执行以下操作:
export LINE_NO=0
cat test.input | while read LINE; do echo "$LINE" | ./program > results.$LINE_NO;
LINE_NO=$(($LINE_NO + 1));
done
基本上,对于test.input中的每一行,上述命令会将其馈送到程序中并将程序的结果存储在results.0,results1、1,result.2等中,其中results.number是test.input文件的行号。
希望这可以帮助。
关于c - 自动使用fgets()测试程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13293431/