Programming

我應該如何為我的程序編寫測試環境?

  • May 27, 2015

如果我有一個程序,它的輸入和所需的輸出,我如何自動比較我希望程序給我的東西和它實際給我的東西?例如:

a=${./program < inputfile}
diff ${a} outputfile

diff將文件名作為參數 - 您從命令的標準輸出傳遞數據,而不是。如果您使用 bash、zsh 或其他類似的 shell,您可以使用程序替換:

diff <(./program < inputfile) outputfile

或者,POSIXly(您也可以使用命名管道,但這可能有點過頭了):

./program < inputfile > /tmp/program-out
diff /tmp/program-out outputfile
rm /tmp/program-out

引用自:https://unix.stackexchange.com/questions/205898