Jan 19, 2016 20:20
E TypeError: can't set attributes of built-in/extension type 'datetime.datetime'
Бу.
Это при попытке замокать datetime.datetime.now()
Правильное решение:
В коде программы:
from datetime import datetime
def foo():
return datetime.now()
В тесте:
def test_foo(wait, logger):
with mock.patch.object(wait, "datetime") as dt:
dt.now = mock.Mock(return_value=5)
assert wait.foo() == 5
У меня от метапрограммирования начинают чесаться зубы.
python,
pytest