您需要monkeypatch datetime.Now函数。在下面的示例中,我正在创建固定装置,以后可以在其他测试中重复使用:
import datetime
import pytest
FAKE_TIME = datetime.datetime(2020, 12, 25, 17, 5, 55)
@pytest.fixture
def patch_datetime_Now(monkeypatch):
class mydatetime:
@classmethod
def Now(cls):
return FAKE_TIME
monkeypatch.setattr(datetime, 'datetime', mydatetime)
def test_patch_datetime(patch_datetime_Now):
assert datetime.datetime.Now() == FAKE_TIME