我想知道如何对递归函数进行单元测试,以确保其调用正确。例如,以下函数:
def test01(number):
if(len(number) == 1):
return 1
else:
return 1+test01(number[1:])
它递归地计算一个数字有多少位数(假设数字类型为字符串)。 因此,我想测试函数test01是否已经被递归调用。如果仅按照这种方式实现,那么就可以了,但如果按照以下方式实现,则不行:
def test01(number):
return len(number)
编辑: 为了教育目的,递归方法是必要的,因此UnitTest过程将自动化编程练习检查。有没有方法可以检查函数是否被调用超过一次?如果可能的话,我可以进行两个测试,一个断言正确的输出,另一个检查相同输入时函数是否被调用多次。
非常感谢您的帮助。