python - 如何编写时间相关的测试 Python

标签 python unit-testing testing mocking

假设我有一个函数:

def third_day_from_now():
    return datetime.date.today() + datetime.timedelta(days=3)

我想为此功能编写测试?我知道如果今天是 25th,那么函数应该返回 28。 有什么办法可以强制 datetime 对象将 current date 返回为 25 吗?

最佳答案

freezegun使模拟日期时间变得非常容易。

from freezegun import freeze_time

@freeze_time("2015-02-25")
def test_third_day_from_now():
    assert third_day_from_now() == datetime.datetime(2015, 2, 28)

关于python - 如何编写时间相关的测试 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31308982/

相关文章:

testing - 针对许多程序自动进行兼容性测试

ruby-on-rails - 如何使用 rspec 检查/测试 json 中的特定字段

Python从字典列表列表创建列表

python - 如何使用for循环提取每个数据?

python - 如何在 BeautifulSoup 4 中找到明文同级?

c# - 当多个单元测试复制同一个文件时,运行所有单元测试失败

c# - 在 Xunit 测试中使用 Moq 库模拟 HttpClient GetAsync

python - .backward() 之后 pytorch grad 为 None

java - 使用 mockito 操作参数的 stub 方法

java - 为什么不能同时使用 Mock 和 InjectMocks?