我有一个方法,它接受用户输入并验证它们,直到它们输入正确的值 . 我不知道如何为此方法编写单元测试,因为它已经验证了用户输入 .
def refreshtime_validation():
while True:
try:
runtime_input = float(raw_input("Enter Refresh Time (in seconds): "))
except ValueError:
print "\n**Please enter a valid number (Must be an integer).**\n"
continue
if runtime_input <= 0:
print "\n**Please enter a valid number (Must be greater than 0).**\n"
continue
else:
return runtime_input
我如何为这种方法编写单元测试?到目前为止我唯一的一个是
self.assertEquals('1','1')
self.assertEquals('100','100')
self.assertEquals('100000','100000')
1 回答
你可以使用mock来mock a raw_input in Python,你可以capture standard output by redirecting sys.stdout to a StringIO . 这样你就可以模拟你的函数输入并测试无效和有效的情况: