我在类内有一个函数,该函数调用其他函数并做一些事情,直到获得两个变量 A 和 B :
Class NumberLogic:
def compare():
#do stuff_
A=#do stuff__
B=#do stuff___
if A<B:
return 1
else:
return 2
我想测试此函数compare()但直接从A和B提供值,因此仅测试if条件,我不确定是否可行,其余代码是否可以模拟,因此在我调用时像
assert 1 == NumberLogic.compare()
答案 0 :(得分:1)
您可以这样重写代码:
Class NumberLogic:
def compare(self):
A = self._get_A()
B = self._get_B()
return self._compare(A, B)
def _get_A(self):
# do stuff
return A
def _get_B(self):
# do stuff
return B
def _compare(self, A, B):
if A<B:
return 1
else:
return 2
这样,您可以编写代码以仅检查_compare
注意:以下划线开头的函数表示它是仅由函数本身使用的内部方法。
您也可以写:
def _compare(self, A, B):
if A<B:
return 1
return 2
是同一回事