1

我正在尝试对一个在内部调用其他两个函数的函数进行单元测试。如下所示

class A(BaseClass):
    def functionA(self, var_a, var_b):
        return self.another_fn_a(var_a).another_fn_b(var_b)

another_fn_a并且another_fn_b是此类扩展的基类的一部分,并返回同一类本身。

现在,我正在尝试测试 myfunctionA以查看它是否使用正确的参数调用其他两个函数。我可以监视another_fn_a,但监视another_fn_b似乎不起作用。我的测试如下所示

def test_will_funcationA(mocker):
    test_obj = ClassA()

    spy_a = mocker.spy(test_obj, 'another_fn_a')
    spy_b = mocker.spy(test_obj, 'another_fn_b')

    test_obj.functionA("var_1", "var_2")

    spy_a.assert_called_once_with("var_1")
    spy_b.assert_called_once_with("var_2")

第一个断言似乎正在工作,但是,对于第二个断言,我得到断言错误,说 another_fn_b 没有被调用。

我在这里做错了什么?

4

0 回答 0