我正在编写一个函数测试,该函数使用数据帧的 to_sql()
方法将 pandas 数据帧发送到 sql 数据库。
为了避免实际发送任何内容,我使用 mock.patch('pandas.DataFrame.to_sql')
模拟该方法。
我想在调用 to_sql()
时查看数据帧的状态。有没有办法使用模拟来做到这一点?即,它是否知道调用模拟函数的对象?
我正在测试的函数目前没有返回任何东西。是否有必要检查数据框?例如。 to_sql()
调用后返回数据帧?除了进行此测试外,我不需要任何返回值,因此如果可能,我更喜欢其他方式。
最佳答案
我遇到了同样的问题,解决方案是这样的:
@mock.patch('pandas.DataFrame.to_sql', return_value=mock.MagicMock())
def test_method(self: my_to_sql_mock):
#your code...
希望对你有用
关于python - 检查模拟方法的类对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55297148/