【问题标题】:Inspect class object of mocked method检查模拟方法的类对象
【发布时间】:2019-03-22 10:01:58
【问题描述】:

我正在编写一个函数测试,该函数使用数据帧的 to_sql() 方法将 pandas 数据帧发送到 sql 数据库。

为了避免实际发送任何内容,我正在使用 mock.patch('pandas.DataFrame.to_sql') 模拟该方法。

我想查看调用to_sql() 时数据帧的状态。有没有办法使用模拟来做到这一点?即,它是否知道调用模拟函数的对象?

我正在测试的函数目前没有返回任何内容。有必要检查数据框吗?例如。在to_sql() 调用后返回数据帧?除了进行这个测试之外,我不需要任何返回值,所以如果可能的话,我更喜欢另一种方式。

【问题讨论】:

    标签: python testing mocking


    【解决方案1】:

    我遇到了同样的问题,解决方法是这样的:

    @mock.patch('pandas.DataFrame.to_sql', return_value=mock.MagicMock())
    def test_method(self: my_to_sql_mock):
      #your code...
    
    

    我希望这对你有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 1970-01-01
      • 2016-03-14
      相关资源
      最近更新 更多