我的精简代码看起来像是:
from unittest.mock import patch, MagicMock
import <more stuff...>
class MockClient:
def copy_object(*args, **kwargs):
return "dummy response"
def <more stuff...>
@patch('boto3.Session', autospec=True)
def test_report_handler(mock_session)
mock_session.return_value.client.return_value = MockClient
report_handler(store="test", start_date="2018-01-10")
我正在嘲笑Boto3的Athena / S3客户端的行为,我想看看在我的单元测试中调用report_handler()时是否调用了copy_object()。
我从其他StackOverflow帖子中读到,这可以通过mock_session.return_value.client.return_value.copy_object.assert_called()
的内容实现,但这给了我:
AttributeError:'str'对象没有属性'assert_called'
有关如何检查是否调用copy_object()的任何建议?