pytest

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

Previous post Next post
Up