Como devo escrever um ambiente de teste para o meu programa?

0

Se eu tenho um programa, sua entrada e a saída desejada, como eu automatizo a comparação do que eu quero que o programa me dê e o que ele realmente me dá? Por exemplo:

a=${./program < inputfile}
diff ${a} outputfile
    
por Tom Tao 27.05.2015 / 17:26

1 resposta

1

diff aceita nomes de arquivos como argumentos - você passou os dados do stdout do comando. Se você estiver usando o bash, zsh ou outro shell similar, você pode usar o processo de substituição:

diff <(./program < inputfile) outputfile

Ou, POSIXly (você também pode usar um pipe nomeado, mas provavelmente é um exagero):

./program < inputfile > /tmp/program-out
diff /tmp/program-out outputfile
rm /tmp/program-out
    
por 27.05.2015 / 17:29