【发布时间】:2020-01-02 21:38:51
【问题描述】:
我有一个要测试的递归函数,但是在测试期间我很难限制递归调用。例如,下面是一个递归函数的简单示例,它调用 bool_function(n) 来检查它是否应该中断递归循环。
def factorial(n):
if bool_function(n):
return 1
else:
return n * factorial(n-1)
测试或模拟 bool_function(n) 的最佳方法是什么,以便第一次迭代为真,之后的任何调用为假?
【问题讨论】:
-
你在使用unittest吗?
-
除非
bool_function有副作用,为什么还要麻烦。你不能用你知道的n测试True吗?
标签: python testing recursion mocking