当我测试一个方法时,该方法的内部会调用自身和同一类中的另一个方法。我使用部分模拟来指定另一个方法的返回值,但是如何指定第一个方法的返回值?
问问题
1506 次
2 回答
2
如果您正在模拟该方法,则它不再是递归的 - 因为模拟只会返回递归后返回的最终返回值。
如果要测试递归函数,则不要模拟递归方法。
您的解释有点不清楚,但也许只是模拟调用的其他方法就足以进行测试。您可以确保使用正确的参数调用其他方法。
于 2013-09-22T23:07:04.243 回答
0
让我们尝试returnsMany
模拟:
coEvery{ mockEntity.recursiveMethod()}.returnsMany(value1, value2,...)
第一次调用 recursiveMethod() 将返回 value1,然后第二次调用返回 value2,...
以正确的方式处理您的递归流程
于 2020-01-15T04:01:40.297 回答