Sono un grader per una classe di programmazione iniziale che utilizza Python. Anche il mio python-fu non è così forte, ma mi piacerebbe provare ad automatizzare alcuni dei voti.Come posso testare i programmi Python per principianti che usano input() (magari con unittest?)?
Guardando online, mi piace la suite di test PyUnit, anche se probabilmente è un po 'sopraffatta per quello che voglio.
mio problema è che non sono sicuro di come passare gli ingressi di prova che voglio funzioni dello studente, dal momento che non stanno usando argomenti della riga di comando o funzioni ancora più ancora, ma l'input dell'utente attraverso la funzione input()
.
uno stupido esempio:
#/usr/bin/python3.1
# A silly example python program
def main():
a = int(input("Enter an integer: "))
b = int(input("Enter another integer: "))
c = a+b
print("The sum is %d" % c)
if __name__ == '__main__'
main()
Per il mio esempio stupido, come vorrei scrivere uno unit test che potrebbe controllare l'output per più ingressi differenti? (cioè, se passo 2 e 3 all'ingresso, la stringa di output dovrebbe essere "La somma è 5")
Le due righe di input mancano di una parentesi chiusa. – Javier
@ Javier: corretto. Grazie, qualcuno ha modificato la mia domanda e aggiunto 'eval (' ma non ha chiuso l'altro lato. – Jason