Programming
我應該如何為我的程序編寫測試環境?
如果我有一個程序,它的輸入和所需的輸出,我如何自動比較我希望程序給我的東西和它實際給我的東西?例如:
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