Я хочу смоделировать вызов API, который метод класса использует для внутреннего использования.
Пока у меня есть это:
@mock.patch("time.perf_counter", side_effect=lambda: 4)
def test_response_expiration(response_store):
response_store.ttl = 2
responses = [
Response(status=200, url="foo", response_time=10, timestamp=1),
Response(status=200, url="foo", response_time=10, timestamp=2),
]
response_store.add(*responses) #add() uses time.perf_counter() internally
Проблема в том, что когда я печатаю respone_store
, я вижуследующий на стандартный вывод:
<MagicMock name='time' id='4455108176'>
Я не понимаю, почему это происходит - почему он высмеивает весь response_store
объект? Я хочу, чтобы он издевался только time.perf_counter
Я запускаю тест с pytest