Session.cookies是在 Session 构造函数中定义的,因此我无法模拟它。有什么办法可以嘲笑它吗?
from requests import Session
from settings import URL
from unittest.mock import patch
@patch.object(Session, 'cookies', new='my custom mock object')
def test_request():
assert function_that_uses_request_cookies()
这引发 AttributeError: <class 'requests.sessions.Session'> does not have the attribute 'cookies'
如果session在模块作用域上定义了session实例,我可以直接修补实例。但session仅在function_that_uses_request_cookies范围上定义。有没有办法修补函数作用域内的实例?
泛舟湖上清波郎朗
相关分类