gpt4 book ai didi

python - 使pytest对数据库使用固定日期

转载 作者:太空宇宙 更新时间:2023-11-04 11:13:35 26 4
gpt4 key购买 nike

我正在使用 pytest 来测试一些数学函数。我希望数据库认为这是过去的日期。

例如,我会将数据库设置为认为现在是 2019 年 8 月 1 日。

有没有办法用 pytest 配置它?

目前我的数据库是这样设置的:

@pytest.fixture(autouse=True)
def autouse_db(db):
pass

最佳答案

使用freezegun用于 monkeypatching datetime 函数。示例:

import datetime
import pytest
from freezegun import freeze_time


@pytest.fixture
def fast_forward_to_2038():
# use me to test the year 2038 problem
with freeze_time('2038-01-19 03:14:08'):
# year 2038 problem should be reproducible now
yield


@pytest.mark.usefixtures('fast_forward_to_2038')
def test_2038_problem():
assert datetime.datetime.now() == datetime.datetime(2038, 1, 19, 03, 14, 08)
...

查看包中的更多示例 readme .

关于python - 使pytest对数据库使用固定日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57579659/

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