gpt4 book ai didi

python - 如何使用 pytest 对 python datetime.datetime.now 进行猴子补丁?

转载 作者:IT老高 更新时间:2023-10-28 20:30:26 27 4
gpt4 key购买 nike

我需要测试使用 datetime.datetime.now() 的函数。最简单的方法是什么?

最佳答案

您需要对 datetime.now 函数进行monkeypatch。在下面的示例中,我正在创建可以稍后在其他测试中重复使用的 fixture :

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

关于python - 如何使用 pytest 对 python datetime.datetime.now 进行猴子补丁?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20503373/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com