我目前正在使用 Python (3.1) 编写一个小型应用程序,并且像一个好孩子一样,我边做边做文档测试。但是,我遇到了一种我似乎无法进行测试的方法。它包含一个input()
, an 因此,我不完全确定在 doctest 的“预期”部分中放置什么。
说明我的问题的示例代码如下:
"""
>>> getFiveNums()
Howdy. Please enter five numbers, hit <enter> after each one
Please type in a number:
Please type in a number:
Please type in a number:
Please type in a number:
Please type in a number:
"""
import doctest
numbers = list()
# stores 5 user-entered numbers (strings, for now) in a list
def getFiveNums():
print("Howdy. Please enter five numbers, hit <enter> after each one")
for i in range(5):
newNum = input("Please type in a number:")
numbers.append(newNum)
print("Here are your numbers: ", numbers)
if __name__ == "__main__":
doctest.testmod(verbose=True)
运行 doctests 时,程序在打印“Expecting”部分后立即停止执行,等待我一个接一个地输入五个数字(没有提示),然后继续。如下所示:
我不知道我可以在我的 doctest 的 Expecting 部分放置什么,以便能够测试接收然后显示用户输入的方法。所以我的问题(最后)是,这个函数是否可测试?