Я оцениваю начальный класс программирования с использованием 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»)