Как мне тестировать программы Python для начинающих студентов, которые используют input () (может быть, с помощью unittest?)?

Я оцениваю начальный класс программирования с использованием Python. Сам мой python-fu не так силен, но я хотел бы попытаться автоматизировать некоторые этапы оценивания.

Заглянув в Интернет, мне нравится набор тестов PyUnit , хотя он, вероятно, немного перегружен для то, что я хочу.

Моя проблема в том, что я не уверен, как передать тестовые входные данные, которые я хочу, в функции ученика, поскольку они еще не используют аргументы командной строки или даже несколько функций, но получают пользовательский ввод через функция input () .

Глупый пример:

#/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()

Для моего глупого примера, как мне написать модульный тест, который мог бы проверять выходные данные для нескольких разных входов? (то есть, если я передаю 2 и 3 на вход, строка вывода должна быть «Сумма равна 5»)

5
задан Jason 5 March 2011 в 20:10
поделиться