gpt4 book ai didi

python - 我可以出于测试目的更改今天的日期吗?

转载 作者:行者123 更新时间:2023-12-01 08:26:21 25 4
gpt4 key购买 nike

我有一个函数可以根据今天的日期执行一些逻辑:

def do_work()
todays_date = datetime.datetime.today().date()
#do something based on todays_date

我想编写一些单元测试来验证此函数在一年中的特定日期是否执行其应有的操作。有什么方法可以更改存储在 todays_date 中的值不改变功能?

我怀疑不是,但只是想问一下。

最佳答案

mock module在这种情况下可以派上用场。该文档有an example关于如何部分模拟固定日期。

>>> from datetime import date
>>> with patch('mymodule.date') as mock_date:
... mock_date.today.return_value = date(2010, 10, 8)
... mock_date.side_effect = lambda *args, **kw: date(*args, **kw)
...
... assert mymodule.date.today() == date(2010, 10, 8)
... assert mymodule.date(2009, 6, 8) == date(2009, 6, 8)
...

关于python - 我可以出于测试目的更改今天的日期吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54219688/

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