【发布时间】:2015-08-21 15:16:31
【问题描述】:
功能思路:
随机 + 随机 = 输出(对或错)
功能:
def input_gener():
"""Generates questions and prints and
returns status result of user input as a string"""
a = random.randrange(1,10)
b = random.randrange(1,10)
c = input("What is the sum of {0} and {1}? ".format(a,b))
if c == a+b:
print("{0} is right!.".format(c))
status = "was right"
else:
print("{0} is wrong!.".format(c))
status = "was wrong"
return status
我可以这样创建测试:
def test_res_right(self):
#Test right value
right_status ="was right"
self.assertEqual(right_status,input_gener())
def test_res_wrong(self):
wrong_status = "was wrong"
self.assertEqual(wrong_status,input_gener())
结果取决于我将如何输入数据。除非我能以某种方式从变量“a”和“b”中检索值,并且可以以更自动化的方式将每个测试修改为正确或错误。 在随机值未知且输入不可预测的情况下,测试此类类型函数的更好方法是什么。
【问题讨论】:
标签: python function unit-testing random