无法模拟具有超级方法的类

时间:2019-07-12 10:45:22

标签: python python-mock

test.py

import mock

@mock.patch('google.cloud.spanner_v1.client.Client')
def test_read_with_query(self, mock_client_class):
    mock_client = mock.MagicMock()
    mock_client_class.return_value = mock_client
    ...

module.py

from google.cloud.spanner import Client

def method_to_test(self):

    spanner_client = Client(self._project_id)
    print spanner_client
    exit()

我正在尝试模拟此客户端类,但收到以下错误

  

TypeError:super()参数1必须是类型,而不是MagicMock

客户端类很容易调用super(Client),它的构造函数已崩溃。

我知道在PHP中,我们可以选择在disableConstructor()中使用PHPUnit

期待通过此构造函数或任何其他pythonic方式进行的工作

谢谢

0 个答案:

没有答案